Webpack.config.js:配置具有未知属性“default”。

3

我已将所有内容从一个工作项目(ultimate-hot-reloading-example)转移到了我的另一个现有项目中,该项目使用keystone cms。我卸载了我的项目中的所有dev依赖项,并安装了所有精确依赖项到我的工作项目中(webpack,babel等...)。

出于某些原因,web.config.js文件无法解析es6语法。

export default 

这会导致以下错误:

- configuration has an unknown property 'default'.

如果我切换到以下内容,它就可以工作:
const config = ...
module.exports = config;

在我的项目中,我还使用了其他es6语法,它也可以正常工作......

这是package.json中的依赖项,配合“export default”语法的示例项目完全可行。

"dependencies": {
"babel-cli": "^6.10.1",
"babel-core": "^6.10.4",
"babel-eslint": "^8.2.3",
"babel-loader": "^7.1.1",
"babel-plugin-react-transform": "^3.0.0",
"babel-plugin-transform-runtime": "^6.9.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.11.1",
"babel-register": "^6.9.0",
"babel-runtime": "^6.9.2",
"chokidar": "^2.0.3",
"css-loader": "^0.28.11",
"css-modules-require-hook": "^4.0.1",
"eslint": "^4.19.1",
"eslint-plugin-react": "^7.8.1",
"express": "^4.14.0",
"prop-types": "^15.6.1",
"react": "^16.3.2",
"react-dom": "^16.3.2",
"react-hot-loader": "^4.1.3",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"style-loader": "^0.21.0",
"webpack": "^4.8.3",
"webpack-dev-middleware": "^3.1.3",
"webpack-hot-middleware": "^2.12.1",
"webpack-node-externals": "^1.7.2"

有什么想法为什么会发生这种情况吗?

webpack 运行在 node 上,你不能在其中使用 es6 语法。你必须要么告诉 CLI 解析它,要么使用 CJS。 - PlayMa256
@PlayMa256 我正在使用 Babel 进行解析。正如我所说,这很奇怪,因为我的项目中所有其他的 ES6 语法都可以正确解析。我认为这是由于 keystone cms 安装的 babel 依赖项和我安装的 babel 版本冲突所致... - silencedogood
你是如何运行CLI的?传递配置。 - PlayMa256
1个回答

2

我曾经遇到过类似的问题,最后发现是由于我的不正确迁移从 require(...)import(...)

我将这段代码替换为:

const common = require("./webpack.common");
module.exports = merge(common, {...})

使用:

const common = await import("./webpack.common.js");
export default merge(common, .....)

问题在于我没有使用webpack.common.js中的default导出。解决方法是:
const common = await import("./webpack.common.js");
export default merge(common.default, .....)

1
我已经有一段时间没有在这个项目上工作了。然而,我打开了一个旧版本。实际上,我想出了另一个解决方法,但是为了其他人的利益,我测试了这个的有效性。看起来它可以工作。非常有趣。谢谢。 - silencedogood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接