由于找不到 redux 和 redux-form 的默认值,因此无法导入 RollupJS ES6 模块
RollupJS ES6 module can't get imported because of default not found for redux and redux-form
我为使用 react-redux
和 redux-form 的登录表单制作了一个包。
react-redux
和 redux-form
都是对等依赖。
在构建汇总期间,我没有收到任何错误消息。
当我尝试将我的包导入项目时,我有:
WARNING in ./node_modules/login-form/dist/login-form.es.js
7455:22-33 "export 'default' (imported as '_reactRedux') was not found in 'react-redux'
WARNING in ./node_modules/login-form/dist/login-form.es.js
7505:17-23 "export 'default' (imported as '_redux') was not found in 'redux'
我从未在我的登录表单项目中导入自己 redux
。
这是我在项目中导入 redux-form
的方式:
import { Field, reduxForm } from 'redux-form/immutable';
这是由 rollup 捆绑的,存在于我的 es 模块中:
import _reactRedux from 'react-redux';
import _redux from 'redux';
我肯定做错了什么,但我不知道是什么。
这是我的汇总依赖项列表
"rollup": "^0.50.0",
"rollup-plugin-babel": "^3.0.2",
"rollup-plugin-cleanup": "^1.0.1",
"rollup-plugin-commonjs": "^8.2.1",
"rollup-plugin-inject": "^2.0.0",
"rollup-plugin-json": "^2.3.0",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-uglify": "^2.0.1",
"rollup-plugin-visualizer": "^0.3.1",
"rollup-watch": "^4.3.1",
如果您使用的是 5.0.0+ 版本,您需要在配置中添加以下内容:
commonjs({
namedExports: {
// left-hand side can be an absolute path, a path
// relative to the current directory, or the name
// of a module in node_modules
'node_modules/my-lib/index.js': [ 'named' ]
}
})
我设法使用外部而不是 'redux-form' => 'redux-form-immutable'
安装它
似乎与提出此问题时使用的 commonjs 包的版本有关。
在我的例子中,我使用了最新版本的 @rollup/plugin-commonjs
并且 namedExports 是自动处理的。
据我所知,从那时起这些包就被命名为@rollup。
我为使用 react-redux
和 redux-form 的登录表单制作了一个包。
react-redux
和 redux-form
都是对等依赖。
在构建汇总期间,我没有收到任何错误消息。
当我尝试将我的包导入项目时,我有:
WARNING in ./node_modules/login-form/dist/login-form.es.js 7455:22-33 "export 'default' (imported as '_reactRedux') was not found in 'react-redux'
WARNING in ./node_modules/login-form/dist/login-form.es.js 7505:17-23 "export 'default' (imported as '_redux') was not found in 'redux'
我从未在我的登录表单项目中导入自己 redux
。
这是我在项目中导入
redux-form
的方式:import { Field, reduxForm } from 'redux-form/immutable';
这是由 rollup 捆绑的,存在于我的 es 模块中:
import _reactRedux from 'react-redux';
import _redux from 'redux';
我肯定做错了什么,但我不知道是什么。
这是我的汇总依赖项列表
"rollup": "^0.50.0",
"rollup-plugin-babel": "^3.0.2",
"rollup-plugin-cleanup": "^1.0.1",
"rollup-plugin-commonjs": "^8.2.1",
"rollup-plugin-inject": "^2.0.0",
"rollup-plugin-json": "^2.3.0",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-replace": "^2.0.0",
"rollup-plugin-uglify": "^2.0.1",
"rollup-plugin-visualizer": "^0.3.1",
"rollup-watch": "^4.3.1",
如果您使用的是 5.0.0+ 版本,您需要在配置中添加以下内容:
commonjs({
namedExports: {
// left-hand side can be an absolute path, a path
// relative to the current directory, or the name
// of a module in node_modules
'node_modules/my-lib/index.js': [ 'named' ]
}
})
我设法使用外部而不是 'redux-form' => 'redux-form-immutable'
安装它似乎与提出此问题时使用的 commonjs 包的版本有关。
在我的例子中,我使用了最新版本的 @rollup/plugin-commonjs
并且 namedExports 是自动处理的。
据我所知,从那时起这些包就被命名为@rollup。