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

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 non-Node.js application? Is that even possible? Turns out, there is a way of doing that.

Browserify 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 Browserify at http://browserify.org. To install Browserify, run the following command from inside the ~/snapterest/ directory:

npm install --save-dev browserify

Notice the --save-dev flag. It tells npm to add Browserify to our package.json 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 dependencies that are required to run your application and the ones that are required to develop your application. Browserify 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:

"devDependencies": {
  "browserify": "^11.0.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! Browserify will allow us to use Node.js modules in our client-side JavaScript applications. It will be a part of our build process. Speaking of which, I think it's a good time to introduce you to our build tools.

主站蜘蛛池模板: 尼勒克县| 潍坊市| 潞西市| 巩义市| 青铜峡市| 湄潭县| 修文县| 枝江市| 上蔡县| 海林市| 白沙| 禄丰县| 嘉祥县| 周至县| 泗洪县| 阳泉市| 邻水| 台安县| 临颍县| 黄大仙区| 平顺县| 桦甸市| 泸西县| 泰州市| 阳朔县| 武定县| 临湘市| 泸溪县| 贺州市| 揭阳市| 太仆寺旗| 伊川县| 花莲市| 启东市| 南和县| 双柏县| 含山县| 涿州市| 石景山区| 夏河县| 华池县|