2017-09-17 74 views
0

我有一個使用html-webpack-plugin和webpack的問題,其中html-webpack-plugin正在將腳本注入到index.html的主體中。這顯然會導致webpack不斷刷新,並且每次都會生成新文件。首先,我如何防止這種情況發生,其次,有沒有辦法配置html-webpack-plugin來刪除相應於不再存在的webpack生成的javascript文件的腳本(在這種情況下,過時的文件是相應的在下面的配置文件中輸出static/bundle-[hash].js)?html-webpack插件注入和webpack導致持續刷新

這裏是的WebPack配置文件:

const CleanWebpackPlugin = require('clean-webpack-plugin'); 
const HtmlWebpackPlugin = require('html-webpack-plugin'); 

module.exports = { 
    entry: "./js/main.js", 
    output: { 
     filename: "static/bundle-[hash].js", 
    }, 
    resolveLoader: { 
    moduleExtensions: ['-loader'] 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /(node_modules|bower_components)/, 
       loader: 'babel', 
       query: { 
        presets: ['react', 'es2015', 'stage-0'] 
       } 
      }, 
      { 
       test: /\.css$/, 
       loader: 'style-loader', 
      }, 
      { 
       test: /\.css$/, 
       loader: 'css-loader', 
       query: { 
        modules: true, 
        localIdentName: '[name]__[local]___[hash:base64:5]' 
       } 
      } 
     ] 
    }, 
    plugins: [ 
     new CleanWebpackPlugin(['static/bundle*.js']), 
     new HtmlWebpackPlugin({ 
      filename: 'index.html', 
      template: 'index.html', 
      inject: 'body' 
     }) 
    ] 
}; 

回答

0

doc您可以讓插件爲您生成一個HTML文件,提供自己的模板

所以,要麼你可以生成HTML文件通過給文件名稱或者您可以通過一個模板,如index.html

0

在開發中,您應該刪除文件名中的所有散列以防止此行爲!

Webpack可以用熱重新加載更新帶有新內容的舊文件。