2016-12-27 61 views
1

是否可以使用html-webpack-plugin在头部和部分内容中编写一些块?Webpack - html-webpack-plugin - 一个文件名 - 多注入

这是我的HTML的WebPack-插件配置:

var HtmlWebpackPluginConfigIndex = { 
    template: path.join(__dirname, 'src/core/server/views', 'index.dust'), 
    filename: 'core/server/views/index.dust', 
    hash: true, 
    chunksSortMode: 'none' 
    // chunks: ['core/public/js/vendor'] 
}; 

当我使用复制与此配置,但与改变大块:

var HtmlWebpackPluginConfigIndex = { 
    template: path.join(__dirname, 'src/core/server/views', 'index.dust'), 
    filename: 'core/server/views/index.dust', 
    hash: true, 
    inject: 'head', 
    chunksSortMode: 'none' 
    chunks: ['core/public/js/vendor'] 
}; 


var HtmlWebpackPluginConfigIndex2 = { 
    template: path.join(__dirname, 'src/core/server/views', 'index.dust'), 
    filename: 'core/server/views/index.dust', 
    hash: true, 
    inject: 'body', 
    chunksSortMode: 'none' 
    chunks: ['core/public/js/app'] 
}; 

.... 

new HtmlWebpackPlugin(HtmlWebpackPluginConfigIndex); 
new HtmlWebpackPlugin(HtmlWebpackPluginConfigIndex2); 

的WebPack仅去年申请大块的HTML -webpack的插件。

回答

0

你可以尝试建立该项目,然后捣鼓代码是这样的:
html-webpack-plugin index.js:

HtmlWebpackPlugin.prototype.generateAssetTags = function (assets) { 
    ... 
    // Add scripts to body or head 
    // <<< You would add this bit >>> 
    if (!! this.options.headScripts) { 
     var hScripts = this.options.headScripts; 
     head = head.concat(scripts.filter((s) => { 
      var src = s.attributes.src; 
      return hScripts.indexOf(src) > -1; 
     })); 
     body = body.concat(scripts.filter((s) => { 
      var src = s.attributes.src; 
      return hScripts.indexOf(src) < 0; 
     })); 
    // <<< to here (and the following "else" in front of the if) >>> 
    else if (this.options.inject === 'head') { 
    ... 
} 

,然后添加一个headScripts选项,你的插件定义:

plugins: [ 
    new HTMLWebpackPlugin({ 
     template: path.join(__dirname, 'src','core','server','views', 'index.dust'), 
     filename: 'core/server/views/index.dust', 
     headScripts: ['vendor.bundle.js'] // or whatever your output filename is 
    }) 
    ] 
相关问题