使用NPM管理JavaScript项目
首先创建项目目录,在其中创建一个src目录,将JavaScript的代码文件放在src目录下。此时的目录结构如下:
project
|_ src
|___ main.js
NPM介绍
Node Package Manager(NPM) 是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
使用NPM初始化项目
在项目跟目录下运行npm init
, 此时跟目录下生成了一个package.json文件,package.json文件包含以下信息:
- 元数据 —— 包括项目名称,描述,作者等信息
- 项目需要的node package —— 当其他开发人员需要运行你的代码时,npm可以根据package.json文件去下载package
- 命令行脚本的键值对 —— 可以通过npm来使用速记脚本开完成一些操作
输入npm init
并回车后,命令行会提示用户填写一些项目的元数据信息,可以填写或者跳过,建议至少填写project title和description。在创建package.json文件时,npm会将这些填入的值或者默认值写入文件中。
安装node package
使用npm install
命令来安装package,该命令会创建一个node_modules目录并将package文件拷贝到目录下。npm install
命令同时也会安装package相关的所有依赖。
比如安装Babel(JavaScript库,用于将使用ES6编写的代码转编译为ES5语法的代码),通过命令行运行如下命令:
$ npm install babel-cli -D
$ npm install babel-preset-env -D
-D选项将所要安装的package写入到package.json文件的devDependencies中,这样当其他开发人员想要运行你的代码时,可以直接通过npm install
命令来安装相关的package。
运行npm install
命令后,目录结构变为如下所示:
project
|_ node_modules
|___ .bin
|___ ...
|_ src
|___ main.js
|_ package.json
其中…代表所下载的多个package文件。
运行自己定制的脚本
继续上面的例子,使用Babel来将ES6+代码转为ES5代码。
设置babel的版本信息
在根目录下创建一个.babelrc文件,在其中加入:
{
"presets": ["env"]
}
其中env
代表转换ES6和更高版本的源代码。
创建运行babel的速记脚本
在package.json文件的scripts属性中加入键值对:
"build": "babel src -d lib"
其中src
为要转换的文件目录,-d
将转换后的代码写到一个目录中,lib
存放转换后代码的目录名称。
运行babel
然后就可以通过命令行来运行转编译命令:
npm run build
运行后便可在lib目录下查看结果