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

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.

主站蜘蛛池模板: 凤凰县| 林西县| 正蓝旗| 闽清县| 台南市| 正蓝旗| 太白县| 扶绥县| 大悟县| 汉沽区| 南丹县| 衡水市| 贵港市| 河北省| 建平县| 民勤县| 敦化市| 德昌县| 靖宇县| 洛阳市| 峨眉山市| 元氏县| 大化| 楚雄市| 固安县| 唐海县| 霸州市| 日照市| 保康县| 商丘市| 楚雄市| 郸城县| 衢州市| 磐石市| 白朗县| 宝丰县| 乌鲁木齐市| 昌邑市| 辛集市| 开封市| 竹北市|