Javascript – Webpack-Konfigurationsproblem mit mehreren Einträgen, das gepackte Ergebnis ist, dass jeder HTML-Code auf alle gepackten JS-Dateien verweist
黄舟
黄舟 2017-06-30 09:55:12
0
2
780

Genau wie der Titel
Wie soll ich es konfigurieren, damit HTML die entsprechende js-Datei mounten kann?
Da die Datei einen Hash hat, gibt es keine Möglichkeit, sie mit htmlWebpackPlugin zu schreiben. Oder gibt es eine Möglichkeit, dieses Problem zu lösen?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen(2)
迷茫

可不可以在plugins中定义多个HtmlWebpackPlugin, 每个Plugin中指定对应的Chunk,如下

module.exports = {
  entry: {
    'page1': './apps/page1/scripts/main.js',
    'page2': './apps/page2/src/main.js'
  },
  output: {
    path: __dirname,
    filename: "apps/[name]/build/bundle.js"
  },
  plugins: [
    new HtmlWebpackPlugin({
      inject: false,
      chunks: ['page1'],
      filename: 'apps/page1/build/index.html'
    }),
    new HtmlWebpackPlugin({
      inject: false,
      chunks: ['page2'],
      filename: 'apps/page2/build/index.html'
    })
  ]
};
大家讲道理

楼上的做一些修改

var getHtmlConfig = function(name){
    return {
        template    : './src/view/' + name + '.html',
        filename    : 'view/' + name + '.html',
        inject      : true,
        hash        : true,
        chunks      : ['common', name]
    };
};
plugins: [
    new HtmlWebpackPlugin( getHtmlConfig(name1)),
    new HtmlWebpackPlugin( getHtmlConfig(name2)),
    new HtmlWebpackPlugin( getHtmlConfig(name3))
]

output: {
    path: './dist',
    publicPath : '/dist',
    filename: 'js/[name].js'
},

你把原来的文件放在src/view下面...
生产的文件会放在dist/'view/' + name + '.html'

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage