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

Reusing Node.js modules

As I mentioned earlier, there will be a step in our development process called building. During this step, our build script will take our source files and all our Node.js dependency packages and transform them into a single file that web browsers can successfully execute. The most important part of this building process is called packaging. But what do we need to package and why? Let's think about it. I briefly mentioned earlier that we're not creating a Node.js application, but yet we're talking about reusing Node.js modules. Does this mean that we'll be reusing Node.js modules in a nonNode.js application? Is that even possible? It turns out that there is a way of doing this.

Webpack is a tool used for bundling all your dependency files together in such a way that you can reuse Node.js modules in client-side JavaScript applications. You can learn more about Webpack at http://webpack.js.org. To install Webpack, run the following command from inside the ~/snapterest/ directory:

npm install --save-dev webpack

Notice the --save-dev flag. It tells npm to add Webpack to our package.json file as a development dependency. Adding a module name to our package.json file as a dependency allows us to record what dependencies we're using, and we can easily install them later with the npm install command, if needed. There is a distinction between the dependencies that are required to run your application and the ones that are required to develop your application. Webpack is used at build time, and not at runtime, so it's a development dependency. Hence, the use of the --save-dev flag. If you check the content of your package.json file now, you'll see this (don’t worry if your Webpack version doesn’t match exactly):

"devDependencies": {
  "webpack": "^2.2.1"
}

Notice that npm created a new folder in your ~/snapterest/ directory called node_modules. This is the place where it puts all your local dependency modules.

Congrats on installing your first Node.js module! Webpack will allow us to use Node.js modules in our client-side JavaScript applications. It will be a part of our build process. Now let's take a closer look at our build process.

主站蜘蛛池模板: 烟台市| 宝丰县| 奈曼旗| 泸水县| 措美县| 韶关市| 额尔古纳市| 安丘市| 磐安县| 晋中市| 伊宁县| 织金县| 南漳县| 武安市| 镇沅| 平山县| 疏附县| 永修县| 馆陶县| 桐梓县| 马鞍山市| 长沙县| 满洲里市| 达州市| 永春县| 高台县| 修武县| 柏乡县| 宜都市| 西畴县| 仁布县| 嫩江县| 平利县| 闻喜县| 安远县| 贞丰县| 宁远县| 宜宾市| 桃园市| 调兵山市| 潜江市|