Javascript 什么';在webpack.config.js中导入库的推荐方法是什么?
我总是使用Javascript 什么';在webpack.config.js中导入库的推荐方法是什么?,javascript,webpack,Javascript,Webpack,我总是使用require调用webpack.config.js为我的构建工作流导入库。然而,最近我在一个项目中使用了import 一般来说,它工作正常,但似乎有些导入webpack.config.js的支持工具无法导入它,因为import在其中使用时出错: 无法在模块外部使用import语句 作为试用,我将配置更改为通过babel运行,它起到了作用,尽管对我来说,使用好的旧require很好,官方文档仍然使用它 我应该回滚import以避免这些警告,或者如果我通过babel并将其重命名为webp
require
调用webpack.config.js
为我的构建工作流导入库。然而,最近我在一个项目中使用了import
一般来说,它工作正常,但似乎有些导入webpack.config.js
的支持工具无法导入它,因为import
在其中使用时出错:
无法在模块外部使用import
语句
作为试用,我将配置更改为通过babel运行,它起到了作用,尽管对我来说,使用好的旧require
很好,官方文档仍然使用它
我应该回滚
import
以避免这些警告,或者如果我通过babel并将其重命名为webpack.config.babel.js
,我可以毫无问题地使用它们吗?经过一些研究,我找到了一个解决方案-transfile webpack config,然后将其传递给我使用的库,该库未能加载它(eslint import resolver webpack)
因此,我不直接加载webpack.config.js
,而是通过babel transpiler:
const webpackConfigTranspiled = babel.transformFileSync(
path.resolve(__dirname, './webpack.config.js'),
).code;
然后将传输的内容传递到库/工具:
settings: {
'import/resolver': {
webpack: webpackConfigTranspiled,
},
'css-modules': {
basePath: 'src',
},
}
在服务器端使用babel毫无意义,除非您必须(出于某种原因)使用真正不推荐的node.js版本和现代语法。您完全无法控制客户端平台=>这就是巴贝尔的原因。在服务器端,您可以轻松地升级和/或锁定环境几年。导入支持对于node.js env来说相对较新。我的建议是避免头痛-使用CommonJS。