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

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.

主站蜘蛛池模板: 盘锦市| 建始县| 绥滨县| 喀什市| 高雄市| 绥棱县| 呼玛县| 临夏县| 冕宁县| 莒南县| 饶阳县| 曲麻莱县| 蓬莱市| 尚志市| 双桥区| 安乡县| 虹口区| 静海县| 鹤山市| 浦城县| 临高县| 和政县| 吉林市| 博罗县| 隆化县| 谷城县| 黎城县| 霸州市| 瑞昌市| 利川市| 吐鲁番市| 上虞市| 吉安县| 吴江市| 五大连池市| 岫岩| 遵化市| 尉氏县| 石狮市| 宣城市| 平舆县|