#javascript #node.js #reactjs #npm #webpack
#javascript #node.js #reactjs #npm #webpack
Вопрос:
Во время разработки я могу свободно делать:
Getters.js
let Getters = {}
Getters.foo = function(){ return 1; }
Getters.bar = function(){ return 2; }
module.exports = Getters;
Но после npm run build
и serve -s build -l 4000
я получаю сообщение об ошибке:
Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
at Module.<anonymous> (Getters.js:954)
Есть ли простой способ решить эту проблему?
Редактировать
Файл, который импортирует Getters.js является ли AbstractNavBar.js:
import React from 'react';
import { useDispatch, useStore, useSelector } from 'react-redux';
import { selectNavMenuItem } from './ActionCreators';
let Getters = require('./Getters');
function AbstractNavBar( { options, name } ){
let active = useSelector( state =>
Getters.getActiveMenuItem( state, name )
)
let dispatch = useDispatch();
let items = options.map(
item => (
<li class="nav-item">
<a id={name '-' item.href}
class={"nav-link" (item.href === active ? " active " : "")}
href="#"
onClick={e=>{
dispatch(selectNavMenuItem( name, item.href ))}}>
{item.label}
</a>
</li>
)
)
return (
<div class="navbar">
<ul class="nav nav-pills">
{ items }
</ul>
</div>
)
}
export default AbstractNavBar;
Я должен отметить, что код отлично работает на сервере разработки, но просто перестает работать после сборки, а затем отправки.
Комментарии:
1. github.com/webpack/webpack/issues/4039
2. Насколько это актуально?
3. Вы проверили документы webpack? webpack.js.org/api/module-methods
4. можете ли вы опубликовать код файла, который вы импортируете и используете
Getters
module?5. @KhanhLeTran, добавлен файл