NPM
npm其全称是Node Package Management,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。是包管理和编译工具(类似于Java开发中的maven或者Scala开发中的sbt),用来下载和管理Node平台下其他开发者共享出来的包。
nodeJS是基于V8引擎的Javascript的开发和运行平台(类似于JVM+JDK的组合),大家知道JavaScript原先只是一个浏览器语言,NodeJS的作用在于把语言的运行环境移植到到桌面和服务器平台,并添加了很多扩展包,使其可以用作后台编程或者桌面脚本语言。在Mac环境可以简单的使用:
brew install node
来安装NodeJS。
在Mac环境使用:
brew install npm
来安装npm,然后使用npm install Packag_name命令就可以安装NodeJS包,还可以去npm网站 https://www.npmjs.org/ 搜寻需要NodeJS包。
其他常见的npm命令包括:
- npm config set proxy
- npm confg set registry
你可以在配置文件中自定义一些命令(稍后讲到)。
Bower
Bower是基于NodeJS平台的专门针对web应用的依赖管理工具,简单来说就是帮开发者去下载需要的JS文件。使用npm命令来安装bower
npm install bower
安装后可以直接运行:
bower install angularjs
就会下载AngularJS的库文件到当前目录下的bower_components目录下,并且会下载AngularJS所以来的其他JS库。
建立项目结构
一个常见的项目结构如下:
- src
- app 程序
- bower_components 下载的js库
- css
- images
- test 测试程序
- .bowerrc
- bower.json bower配置文件
- package.json npm配置文件
bower.json
{ "name": "project_name", "version": "0.0.1", "dependencies": { "angular": "~1.2", "angular-resource": "~1.2.x", "angular-route": "~1.2.x", "angular-mocks": "~1.2", "bootstrap": "~3.1", "angular-bootstrap": "~0.10.0", "angular-ui-router": "~0.2", "ng-grid": "~2.0.11" } }
package.json
{ "name": "project_name", "version": "0.0.1", "repository": { "type": "git", "url": "git clone project_git_address" }, "dependencies": {}, "devDependencies": { "karma": "~0.10", "http-server": "^0.6.1", "bower": "^1.3.1", "shelljs": "^0.2.6" }, "scripts": { "postinstall": "bower install", "start": "http-server -p 8080", "test": "karma start test/karma.conf.js", "test-single-run": "karma start test/karma.conf.js --single-run" } }
.bowerrc
{ "directory": "src/bower_components" }