将配置文件复制到webpack中的dist目录

问题描述:

我想从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来完成此任务,而不必使用外部脚本或库将构建复杂化。

您可以使用节点模块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

我发现CopyWebpackPlugin非常有用,在这种情况下,我需要将文件从src复制到dist目的地。