官术网_书友最值得收藏!

Creating a custom script

Make a new folder in the root of your directory and name it scripts. Inside, make a file called copy_assets.js.

In here, we will copy everything in public to build, excluding our index.html.

To do this (you guessed it), we need one more package; run yarn add fs-extra.

Then, require it inside copy_assets.js, as illustrated:

var fs = require('fs-extra');

fs-extra is a package used for manipulating files in a Node environment. It has a method called copySync, which we'll use here.

The code is rather straightforward:

fs.copySync('public', 'build', {
dereference: true,
filter: file => file !== 'public/index.html'
});

This says copy everything in the public folder to the build folder, except the index.html file.

If you have a bundle.js in your public folder from our previous Webpack config, you can delete it now.

Now, to run this command whenever we build, add it to the build script in package.json:

 "scripts": {
"build": "node scripts/copy_assets.js && node_modules/.bin/webpack --config
webpack.config.prod.js",
"start": "node_modules/.bin/webpack-dev-server"
},

It's a good idea to put the copy_assets command before our Webpack command, just to ensure that we don't accidentally copy any JavaScript assets in public without transpiling them.

主站蜘蛛池模板: 新泰市| 富蕴县| 文成县| 耿马| 乐昌市| 三穗县| 礼泉县| 莎车县| 维西| 平昌县| 从化市| 恩施市| 洛隆县| 喜德县| 临邑县| 扬州市| 扶风县| 武强县| 禄丰县| 慈溪市| 泌阳县| 大埔区| 土默特右旗| 饶阳县| 洪江市| 北辰区| 许昌县| 衢州市| 金川县| 涪陵区| 施秉县| 搜索| 庆安县| 全南县| 临海市| 安远县| 罗源县| 林州市| 内乡县| 平潭县| 山阴县|