如何在自定义Webpack加载程序中使用“导入”语句

时间:2018-11-26 10:57:27

标签: webpack loader webpack-loader

我正在尝试构建自定义的webpack加载程序(以导入json文件中指定的所有内容)。

我的第一步是复制一些示例加载器(我选择了文件加载器)并将其注册为我的自定义加载器(在webpack.config.js中):

rules: [{
    test: /\.(png|svg|jpg|gif)$/,
    use: [ { loader: path.resolve('asset-loader/index.js'), options: { } } ]
  },{

加载器被正确拾取,但是在加载器的第一条语句中出现错误:

import path from 'path';

通过一些实验,我发现它不能理解ES6导入语法,而是期望“ require('path')。

那是为什么?正如我所说,我从github复制了文件加载器-效果很好。

是否可以配置webpack使其能够与import语句一起使用?

1 个答案:

答案 0 :(得分:1)

您不能使用esm语法,因为node不允许该YET。您必须将其解析为cjs才能被节点解释。

为什么它可以与文件加载器一起使用?因为如您所见here,所以已分发/编译了分布式文件。