我正在尝试在Webpack配置文件中使用ES导入,但是我没有让Node接受它们。
webpack.config.js:
import webpack from 'webpack';
export default {
mode: 'development'
};
在package.json中:
{
"scripts": {
"start": "node --experimental-modules node_modules/webpack-dev-server/bin/webpack-dev-server.js"
}
}
但是,当我尝试使用运行它时npm start
,出现以下错误:
C:\redacted\webpack.config.js:1
import webpack from 'webpack';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1072:16)
at Module._compile (internal/modules/cjs/loader.js:1122:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at WEBPACK_OPTIONS (C:\redacted\node_modules\webpack-cli\bin\utils\convert-argv.js:114:13)
at requireConfig (C:\redacted\node_modules\webpack-cli\bin\utils\convert-argv.js:116:6)
at C:\redacted\node_modules\webpack-cli\bin\utils\convert-argv.js:123:17
我究竟做错了什么?如何使它尊重--experimental-modules标志并允许该import
语句?
相关版本:
根据NodeJS文档,Node在以下情况下会将文件视为ES模块:
.mjs
扩展名结尾的文件.js
当最近的父级package.jso
n文件包含type
值为的顶级字段时,以结尾的文件module
。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句