html-webpack-plugin использует hash: true с SplitChunksPlugin выходной хэш всегда одинаков - PullRequest
0 голосов
/ 08 июля 2019

Я разрабатываю проект asp.net mvc5 с реагированием. Я использую webpack4 для создания многостраничного приложения.Я использую SplitChunksPlugin и HtmlWebPackPlugin разделенный код поставщика и код приложения.но я нахожу, что хэш выходного файла js всегда один и тот же:

<script type="text/javascript" src="../../Scripts/Ts/dist/js/vendors.app.bundle.js?2f5c225068d4232f8e8d"></script>
<script type="text/javascript" src="../../Scripts/Ts/dist/js/app.bundle.js?2f5c225068d4232f8e8d"></script></body>

Все изменения кода делают хэш все изменения: и изменяются на то же самое.не подходит для кеша браузера.это мой конфиг:

const path = require('path');
const HtmlWebPackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
    entry: {
        app: ['./src/App.ts']
    },
    optimization: {
        splitChunks: {
          chunks: 'all',
          automaticNameDelimiter: '.',
          cacheGroups: {
            vendors: {
              test: /[\\/]node_modules[\\/]/,
              priority: -10
            },
            default: {
                minChunks: 2,
                priority: -20,
                reuseExistingChunk: true
            }
          }
        }
      },
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'js/[name].bundle.js'
    },
    devtool: "source-map",
    resolve: {
        extensions: [".ts", ".tsx", ".js", ".jsx", ".json"]
    },
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                loader: "awesome-typescript-loader"
            }
        ]
    },

    plugins: [
        new CleanWebpackPlugin(),
        new HtmlWebPackPlugin({
            template: "./src/index.html",          
            hash: true
        }),
        new HtmlWebPackPlugin({
            template: './src/Main.cshtml',
            filename: path.resolve(__dirname, '../../Views/Home/Main.cshtml'),     
            chunks:['vendors.app','app'],
            hash: true           
        })
    ]
};



It Seem to vendors.app.bundle.js and app.bundle.js share hash.
How can i do let output use self hash?
...