Как исключить шаблоны html-webpack-plugin из raw-loader в веб-пакете - PullRequest
0 голосов
/ 25 мая 2018

У меня очень большой проект, который использует два пакета веб-пакетов для поддержки более старой и новой версии сайта.Конфигурация для одного использует raw-загрузчик для обработки 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-загрузчик заставляет webpack скопировать содержимое моего devTemplate.html в выходной файл.

Как исключитьфайл шаблона, чтобы он использовал загрузчик ejs по умолчанию для html-webpack-plugin и не использовал raw-загрузчик.

РЕДАКТИРОВАТЬ:

webpack - версия 2.3.1

html-webpack-plugin является версией 3.2.0

1 Ответ

0 голосов
/ 26 мая 2018

Так мы можем исключить файлы или папки в Webpack.

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

. Я добавил папку, содержащую шаблоны (WebpackTemplates), в параметр exclude raw-loader

.

Это означает, что он будет игнорировать все файлы в этой папке.

Вы можете добавить несколько папок / папок, чтобы исключить опцию, используя regex.

...