2016-08-24 117 views
0

我想從webpack的entryoutput目錄外複製文件。我有要求有一個屬性文件是完全分開的捆綁。將配置文件複製到webpack中的dist目錄

所以我有這樣的結構:

/project 
    /config 
    properties.js 
    /dist 
    bundle.js 
    webpack-created-index.html 
    /src 
    index.html-with-custom-script-tag 
    ...source files and folder here 

我想有我webpack.config複製源代碼管理的config文件夾(不帶其內容擺弄),所以我DIST的文件夾看起來像這樣:

/dist 
    /config 
    properties.js 
    bundle.js 
    webpack-created-index.html 

我希望能有我的那properties.js文件,像這樣的WebPack創建的index.html負荷:

<script type="text/javascript" src="../config/properties.js"></script> 

我的瀏覽器顯示404,即使我更改<script>標記中的相對路徑以返回dist並遍歷文件系統,直到它到達src中的config文件夾。

我webpack.config.js進入/輸出如下:

config.entry = { 
    app: './src/app.js' 
    }; 

    config.output = { 
    path: __dirname + '/dist', 
    publicPath: 'http://localhost:8080/', 
    filename: '[name].bundle.js' 
    }; 

是否有可能用的WebPack要做到這一點,或者我需要攜帶的東西一樣一飲而盡或節點腳本來做到這一點?我的強烈的偏好將用webpack來完成此任務,而不必使用外部腳本或庫將構建複雜化。

回答

0

您可以使用節點模塊cpy-cli。

npm install cpy-cli 

複製src文件夾內的所有.html文件到DIST和保存路徑結構

cpy '**/*.html' '../dist/' --cwd=src --parents 

我有一個簡單的腳本,照顧這對我

"copy-files": "cpy \"**/index.html\" favicon.ico \"../dist\" --cwd=src --parents" 

要自動注入文件使用html-webpack-plugin

npm install html-webpack-plugin --save-dev 

Read more about it

+0

有兩個問題:如何將該腳本連接到正常的webpack綁定進程?我知道我可以手動將它複製到...我正在尋找一種方法讓webpack來做到這一點。另外,我沒有在html-webpack-plugin中看到任何內容,以指明我如何具體告訴它哪些文件要添加到index.html。 – tengen

+0

1.我使用它package.json在那裏很容易,但如果你想在webpack中使用它,那麼你不需要它,你可以寫一些服務器端js使它成爲2.如果你閱讀文檔有東西提到關於注入。 –

+0

我能夠使用「複製文件」的想法成功地將文件複製到「物理」上,但是當運行開發服務器時,webpack似乎並沒有意識到它。我相信挑戰在於,如果我只是使用腳本將文件複製到「dist」文件夾,那麼當運行webpack-dev-server時,webpack就沒有該文件存在的概念。 – tengen

0

我發現CopyWebpackPlugin非常有用,在這種情況下,我需要將文件從src複製到dist目的地。

相關問題