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

Shortcuts

Typing out that long Webpack command is boring and opens us up to errors potentially being made (what if we mistype bundle.js and end up generating the wrong file?). Let’s simplify that process for our own sanity.

First, let’s decide that our index.js will be the entry point to our application, which means that it will require all the other files in the application (or rather, it will require a few files that require a few other files, which require a few other files, and so on).

Conversely, our bundle.js will be our output file, where all our bundled code goes.

Those two files, therefore, will always be the arguments we give to the Webpack command in our Terminal. Since they won’t change, let’s configure Webpack to always use them.

In our project folder (not in src, but the top-level folder), create a file called webpack.config.js. In it, put the following:

module.exports = {
entry: __dirname + "/src/index.js",
output: {
path: __dirname + "/public",
filename: "bundle.js",
publicPath: "/",
}
};

We define our entry point as the path to the index.js (__dirname is a global variable which grabs the current directory, that is, wherever we run the command webpack). We then define our output file.

Now, we can simply run node_modules/.bin/webpack in our Terminal, with no arguments, and get the same results:

node_modules/.bin/webpack

A good improvement, but we’re developers, so we’re lazy and want to take even more shortcuts. Let’s shorten that node_modules/.bin/webpack command.

One of the cool features of npm is the ability to write scripts to perform commonly used tasks. Let’s try it out. In our package.json, create a scripts section; within that, make a script named build, with a value of the node_modules/.bin/webpack command:

{
"name": "chatastrophe",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"build": "node_modules/.bin/webpack",
},
"dependencies": {
"react": "15.6.1",
"react-dom": "15.6.1",
"webpack": "3.5.4",
}
}

Then, in the Terminal, you can run either npm run build or yarn build. They do the same thing: run the Webpack command and bundle our files!

Wow, our life is getting easier and easier. Could we be any lazier?

In short, yes.

主站蜘蛛池模板: 民丰县| 崇州市| 本溪市| 青田县| 万年县| 弋阳县| 渭南市| 弋阳县| 汽车| 若羌县| 天等县| 长沙市| 梨树县| 拉孜县| 文成县| 皋兰县| 三明市| 明水县| 天全县| 贺州市| 哈巴河县| 南京市| 临沂市| 化州市| 奇台县| 铁岭市| 顺昌县| 焦作市| 新源县| 高台县| 苏尼特右旗| 陆丰市| 那坡县| 铅山县| 佛教| 大庆市| 郯城县| 鄂托克前旗| 博湖县| 德格县| 绵竹市|