语法错误:无法在模块外部使用导入语句-在webpack中导入时出错

hvvq6cgz  于 12个月前  发布在  Webpack
关注(0)|答案(1)|浏览(156)

我有一个定义了常量的全局文件,在这个文件中我使用了import。当我试图使用require将这些常量导入到webpack.config中时,当我运行webpack时,它会给出一个错误,因为它不支持常量文件中的导入。
我该怎么办?

// webpack.config.js
const { token } = require('./constantes.js');

个字符

bzzcjhmw

bzzcjhmw1#

Node.js提供了CommonJS模块格式,该格式提供了一个require()函数,可以使用相对路径或从node_modules导入其他CJS模块。
ESM是编写JavaScript模块的新标准格式,与CommonJS不兼容,因此不能使用require()函数导入ESM模块。
您的webpack配置,即webpack.config.js以CommonJS格式写入,而constantes.js文件以ESM格式写入。
有两种方法可以解决这个问题。要么将webpack配置更改为ESM,将其重命名为webpack.confg.mjs,要么将constantes.js重写为CommonJS。
二是使用动态导入来加载constantes.js函数。

相关问题