我有一个定义了常量的全局文件,在这个文件中我使用了import。当我试图使用require将这些常量导入到webpack.config中时,当我运行webpack时,它会给出一个错误,因为它不支持常量文件中的导入。我该怎么办?
// webpack.config.js const { token } = require('./constantes.js');
个字符
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函数。
require()
node_modules
webpack.config.js
constantes.js
webpack.confg.mjs
1条答案
按热度按时间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
函数。