了解Webpack:Loader定义了两次

时间:2016-11-17 18:04:55

标签: webpack

在GitHub上的样板项目中,我在Webpack配置中发现了一些我还不了解的内容。

为什么以下加载程序使用相同的测试定义了两次? 如果我删除其中一个,则应用程序无法按预期呈现。

  { test: /\.css$/, include: path.resolve('./src/app'), loaders: [
       'style-loader',
       'css-loader',
       'postcss-loader'
    ]
  },
  { test: /\.css$/, exclude: path.resolve('./src/app'), loaders: [
       'style-loader',
       'css-loader'
    ]
  },

1 个答案:

答案 0 :(得分:1)

如果查看为控制器配置的{include, exclude}选项,第一个配置将用于您的源,第二个配置将用于所有其他配置(node_modules/中的供应商,全局模块,其他路径)。您可以应用相同的方法,例如,使用Babel等配置/跳过解析源

我们这样做的原因是因为在注册表中发布的源已经被解析并转换为其包的预发布脚本的一部分,而我们的包仍处于开发阶段。

在这里,您希望只有您的源使用以PostCSS为目标的语法和表达式,而您将通过NPM分发的语言和表达式视为标准CSS。您只需解析它们以解析依赖关系并将它们转换为JS模块,完全跳过PostCSS解析器。