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"
}
达维营-前端网