【问题标题】:How to exclude html-webpack-plugin templates from raw-loader in webpack如何从 webpack 的 raw-loader 中排除 html-webpack-plugin 模板
【发布时间】:2018-05-25 15:04:23
【问题描述】:

我有一个非常大的项目,它使用两个 webpack 包来支持网站的旧版本和新版本。一个配置使用原始加载器来处理 html 文件。它看起来像这样:

this.configModern = {
  entry: 'modern',
  output: {
    filename: 'bundled-[name].[chunkhash].js',
    path: path.join(__dirname, '/Scripts/bundled/')
  },
  module: {
    rules: [
        {
            test: /\.html$/,
            use: [
                'raw-loader'
            ]
        },
    ]
  },
  plugins: [
    new CommonsChunkPlugin({
      name: 'vendor-modern',
      minChunks: function (module) {
        return module.context
          && module.context.includes('node_modules');
      }
    }),
    new webpack.ProvidePlugin({
      'window.jQuery': 'jquery'
    }),
    new HtmlWebpackPlugin({
      filename: 'bundle_modern_dev.html',
      template: './Views/Shared/WebpackTemplates/devTemplate.html',
      inject: false,
    }),
  ],
};

这是我的devTemplate.html

<% for (var js in htmlWebpackPlugin.files.js) { %>
<script src="/Scripts/bundled/<%= htmlWebpackPlugin.files.js[js] %>"></script>
<% } %>

我的问题是 raw-loader 导致 webpack 将我的 devTemplate.html 的内容复制到输出文件。

如何排除模板文件,以便它使用 html-webpack-plugin 的默认 ejs 加载器,而不使用 raw-loader。

编辑:

webpack 是 2.3.1 版

html-webpack-plugin 是 3.2.0 版本

【问题讨论】:

    标签: javascript html webpack html-webpack-plugin


    【解决方案1】:

    这就是我们如何在 Webpack 中排除文件或文件夹

    module: {
        rules: [
            {
                test: /\.html$/,
                exclude:/WebpackTemplates/,   /* Add this line */
                use: [
                    'raw-loader'
                ]
            },
        ]
      },
    

    我将包含模板 (WebpackTemplates) 的文件夹添加到 raw-loader 的排除选项

    这意味着它将忽略该文件夹中的所有文件。

    您可以使用正则表达式添加多个文件夹/文件夹以排除选项。

    【讨论】:

    • 排除路径是相对的吗?换句话说,您添加的行是否告诉 webpack “忽略名称为 WebpackTemplates 的所有文件夹?”
    • 是的,它会告诉 webpack 忽略所有具有该名称的文件夹
    猜你喜欢
    • 2016-05-21
    • 2016-11-16
    • 2020-02-06
    • 2023-03-03
    • 2017-04-14
    • 2017-07-21
    • 1970-01-01
    • 2021-05-25
    • 2016-03-11
    相关资源
    最近更新 更多