当我尝试简化导入时,出现 webpack TypeError。以下代码可以正常工作。在这里,我正在导入一个名为smartForm
from的 React 高阶组件 (HOC) core/components/form/index.js
。
core/components/form/index.js(进行命名导出smartForm
)
export smartForm from './smart-form';
login-form.jsx(导入和使用smartForm
)
import { smartForm } from 'core/components/form';
class LoginForm extends React.Component {
...
}
export default smartForm(LoginForm);
但是,我想将导入简化为import { smartForm } from 'core'
. 所以,我再出口smart-form
的core/index.js
和进口它core
。请参阅下面的代码:
core/index.js(进行命名导出smartForm
)
export { smartForm } from './components/form';
// export smartForm from './components/form'; <--- Also tried this
login-form.jsx(导入和使用smartForm
)
import { smartForm } from 'core';
class LoginForm extends React.Component {
...
}
export default smartForm(LoginForm); // <--- Runtime exception here
此代码编译没有任何问题,但我在该行收到以下运行时异常export default smartForm(LoginForm);
:
login-form.jsx:83 Uncaught TypeError: webpack_require .i(...) is not a function(...)
我错过了什么?
PS 这是我使用的 Bable 和插件版本:
"babel-core": "^6.18.2",
"babel-preset-es2015-webpack": "^6.4.3",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-1": "^6.16.0",