以下是Babel 6常用的一些功能,但是Babel 7遇到了问题。我试图将(默认)类导出为库。当前,当我尝试导入它时出现以下错误。
未捕获的SyntaxError:请求的模块'./dist/datastore.js'不存在 提供名为“默认”的导出
我的配置几乎与以前的配置相同,只是使用Babel 7更新了。
来自Webpack的信息:
output: {
path: `${__dirname}/dist`,
filename: `${moduleName}.js`,
library: 'datastore',
libraryExport: 'default',
libraryTarget: 'umd',
umdNamedDefine: true
},
从我的入口点开始的位:
import DataStore from './datastore';
export default DataStore;
.babelrc中的位:
{
"presets": [
["@babel/preset-env", {
"targets": {
"node": "current"
},
"modules": false
}]
],
"plugins": [
"@babel/plugin-transform-async-to-generator",
"@babel/plugin-transform-destructuring",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread"
]
}
有人有什么想法吗?
答案 0 :(得分:3)
如果您正在使用babel 7,则需要加载此软件包:
npm i --save-dev babel-plugin-add-module-exports
然后在您的babel配置中添加此插件'add-module-exports':
module.exports = {
presets: [
[
'@babel/preset-env',
{
modules: false,
targets: {
browsers: ['last 2 versions', 'safari >= 7']
}
}
]
],
plugins: ['add-module-exports']
};
答案 1 :(得分:-1)
错误消息是不提供名为'default'的导出文件的是datastore.js-是吗?
您的入口点.js文件不需要导出任何内容,它不是模块,它正在导入datastore.js并在错误消息中注明应该存在并导出名为'default'。