2017-08-02 86 views
0

我試圖在綁定我的應用程序以進行生產時向我的index.html中添加特定的js文件。我webpack.common.js有獲得注入到HTML中的以下文件:在基於環境的webpack中將腳本文件添加到HTML

entry: { 
    'polyfills': './src/polyfills.ts', 
    'vendor': './src/vendor.ts', 
    'app': './src/main.ts' 
    }, 

而在插件部分我:

new webpack.optimize.CommonsChunkPlugin({ 
     name: ['app', 'vendor', 'polyfills'] 
    }), 

對於我webpack.prod.js我有以下輸出:

output: { 
    path: helpers.root('dist'), 
    publicPath: '/', 
    filename: '[name].[chunkhash].js', 
    chunkFilename: '[id].chunk.js' 
    }, 

而且一切正常。但是我不知道如何在插件中爲生產指定額外的步驟,以便我可以抓取額外的文件。

作爲一種變通方法,我可以只使用被替換爲生產實際內容的空文件 - 這樣的事情:

new webpack.NormalModuleReplacementPlugin(/\.\/folder\.dev/, '../folder/file.prod') 

但我認爲這是一個黑客,我不認爲這是最好的方式來做到這一點。我看了一下線程https://github.com/petehunt/webpack-howto/issues/46,這幾乎是我想要實現的,但是給出的解決方案對我來說不起作用。

我原以爲這可以通過html-webpack-plugin來實現,但是文檔似乎沒有顯示如何(或者至少我可以在這裏看到:https://www.npmjs.com/package/html-webpack-plugin或這裏:https://github.com/jantimon/html-webpack-plugin)。

由於我使用的webpack-merge任何幫助深表感謝

回答

0

和所有必需的文件中列出我的webpack.common.js我已經通過添加entry元素作爲我webpack.prod.js的一部分,解決了這個問題:

entry:{ 
     'prodOnlyFile' : './src/file.ts' 
    },