package.json和bower的参数解释

一、package.json解释:

package.json是用来声明项目中使用的模块,
这样新的环境部署时,只要在package.json文件所在的目录执行npminstall就可以安装新的所需要的模块了。
{
"name": "angular-phonecat",name 是必须的字段
不要在name中含有node,js等字样
名字最终会是url的一部分,命令行的参数,目录名不能以点号或者下划线开头
名字可能在require()方法中被调用,所以要尽可能的短。
"private": true,private设置为true,npm会拒绝发布,这样会防止私有的repositories不小心被发布出去。
"version": "0.0.0",version也是必须字段。
"description": "A tutorial application for AngularJS",description是可选字段,npm search的时候会用到的。
"repository": "https://github.com/angular/angular-phonecat",repository是可选字段,用来指示代码存放的位置。
/*("repository" :
{ "type" : "git"
, "url" : "http://github.com/npm/npm.git"
}

"repository" :
{ "type" : "svn"
, "url" : "http://v8.googlecode.com/svn/trunk/"
})*/
"license": "MIT",/*可选的字段,如果是使用一个普遍的license,比如BSD-3-Clause或MIT,直接使用:

{ "license" : "BSD-3-Clause" }*/
"devDependencies": {
//devDependencies是可选的字段可选字段。如果只需要下载使用某些模块,而不下载这些模块的测试和文档框架,放在这个下面比较不错。
//感觉和Dependencies差不多,是指当前包所以来的其他包
//版本的格式可以使version完全匹配,>,>=,<,<=这个版本,~Version接近这个版本,^version兼容这个版本等
//1.2.x X代表任意数字,因此1.2.1, 1.2.3等都可以
"bower": "^1.7.7",包管理器
"http-server": "^0.9.0",轻量级Web服务器
"jasmine-core": "^2.4.1",
"karma": "^0.13.22",用于运行单元测试
"karma-chrome-launcher": "^0.2.3",
"karma-firefox-launcher": "^0.1.7",
"karma-jasmine": "^0.3.8",
"protractor": "^3.2.2"运行端到端的测试
},

scripts是可选的字段,实际上指的是npm-scripts。
npm run为每条命令提供了pre-和post-两个钩子(hook)。
"scripts": {
postinstall是指install任务完成之后会执行postinstall任务
3最后运行 "postinstall": "bower install",

prestart是指在先执行prestart任务再执行start任务。
1先运行 "prestart": "npm install",
2再运行"start": "http-server ./app -a localhost -p 8000 -c-1",

"pretest": "npm install",
"test": "karma start karma.conf.js",
"test-single-run": "karma start karma.conf.js --single-run",

"preupdate-webdriver": "npm install",
"update-webdriver": "webdriver-manager update",

"preprotractor": "npm run update-webdriver",
"protractor": "protractor e2e-tests/protractor.conf.js",

"update-index-async": "node -e \"var fs=require('fs'),indexFile='app/index-async.html',loaderFile='app/bower_components/angular-loader/angular-loader.min.js',loaderText=fs.readFileSync(loaderFile,'utf-8').split(/sourceMappingURL=angular-loader.min.js.map/).join('sourceMappingURL=bower_components/angular-loader/angular-loader.min.js.map'),indexText=fs.readFileSync(indexFile,'utf-8').split(/\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/).join('//@@NG_LOADER_START@@\\n'+loaderText+' //@@NG_LOADER_END@@');fs.writeFileSync(indexFile,indexText);\""
}
}
从上面可以看出,运行npm start之前都会运行npm install,然后start运行"http-server ./app -a localhost -p 8000 -c-1
启动一个服务器。最后运行的是bower install安装bower管理的包。

二、http-server介绍:
http-server是一个简单的零配置命令行http服务器,基于node.js。
在命令行的使用:$node http-server
在package.json中定义的方式:
"scripts":{
"start":"http-server -a 0.0.0.0 -p 8000",
}
其中的参数:
-p 端口号 (默认 8080)

-a IP 地址 (默认 0.0.0.0)

-d 显示目录列表 (默认 'True')

-i 显示 autoIndex (默认 'True')

-e or --ext 如果没有提供默认的文件扩展名(默认 'html')

-s or --silent 禁止日志信息输出

--cors 启用 CORS

-o 在开始服务后打开浏览器

-h or --help 打印列表并退出

-c 为 cache-control max-age header 设置Cache time(秒) ,禁用 caching, 则值设为 -1 .

三、bower相关:存放在bower_components里面
$ npm install -g bower 建立并初始化bower
$ bower install <package>把 bower install packages 建立在bower_components里面,
一个package可以是一个url,一个github shorthand ,一个git endpoint等。
例如:
# installs the project dependencies listed in bower.json(这是注释)
$ bower install
# registered package
$ bower install jquery
# GitHub shorthand
$ bower install desandro/masonry
# Git endpoint
$ bower install git://github.com/user/package.git
# URL
$ bower install http://example.com/script.js
之后save packages 用$ bower init建立一个bower.json,㐈$ bower install PACHAGE --save保存新建的bower.json
使用use packages,<script src="bower_components/jquery/dist/jquery.min.js"></script>

bower.json内容:
{
"name": "angular-phonecat",
"description": "A starter project for AngularJS",
"version": "0.0.0",
"homepage": "https://github.com/angular/angular-phonecat",
"license": "MIT",
"private": true,
"dependencies": {
"angular": "1.5.x",
"angular-animate": "1.5.x",
"angular-mocks": "1.5.x",
"angular-resource": "1.5.x",
"angular-route": "1.5.x",
"bootstrap": "3.3.x",
"jquery": "2.2.x"
}
}

转载于:https://www.cnblogs.com/xuanwotianming153/p/7357952.html

package.json和bower的参数解释相关推荐

  1. nodejs的package.json配置参数

    一直对node设置package.json的参数不甚了解,借着vscode工具的注释,我把package.json中的options全部展示一下,中文注释部分可能不是package.json里的配置参 ...

  2. npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?

    本文翻译自:What's the difference between dependencies, devDependencies and peerDependencies in npm packag ...

  3. warning ..\package.json: No license field

    在初始化Vue项目的的时候发现警告 yarn install 查了下发现是,package.json 文件中缺少license参数 {"name": "movie_vie ...

  4. 二:项目初始化文件—package.json

    一:项目初始化 package.json 文件 1:新建一个项目文件夹并用 vscode 打开该文件夹,作为项目根目录文件夹: 2:打开 vscode 的终端命令行,开始初始化 package.jso ...

  5. npm使用入门(package.json)

    npm使用入门 crazygit 关注 2017.03.10 18:31 字数 1773 阅读 1617评论 0喜欢 10 NPM是什么 npm npm makes it easy for JavaS ...

  6. npm WARN saveError ENOENT: no such file or directory, open ‘/Users/....../package.json‘的解决办法

    执行npm报错: npm WARN saveError ENOENT: no such file or directory, open '/Users/....../package.json' 根据错 ...

  7. npm package.json文件解读

    每个Nodejs项目的根目录下面,一般都会有一个package.json文件.该文件可以由npm init生成,定义了项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). pa ...

  8. Node.js中package.json中库的版本号详解(^和~区别)

    Node.js中package.json中库的版本号详解(^和~区别) 当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号 ...

  9. npm 与 package.json 快速入门

    摘自  https://blog.csdn.net/u011240877/article/details/76582670#什么是-npm npm 是前端开发广泛使用的包管理工具,之前使用 Weex ...

最新文章

  1. java培训分享:java软件开发可以用哪些软件?
  2. 视学算法第六轮送书活动,16本高质量书免费拿走!
  3. runtime objc_msgSend
  4. Ubuntu 无线密码破解利器aircrack-ng
  5. 在Java中使用Spliterator
  6. php 中文 decode_php json_decode 解析中文
  7. TCP协议——粘包与拆包
  8. string s = new string(“xyz“);创建了几个对象_「005」-JavaSE面试题(五):String类
  9. 4、Windows2008 R2安装Vcenter5.0
  10. 确定填充介质的矩形波导单模传输TE10波的工作频率
  11. linux使用running网卡ping,Linux CentOS 7 IP地址配置及网络问题排查
  12. IDC评述网:1月下旬国内域名注册商净增量Top10
  13. iphone开机白苹果_iphone白苹果原因是什么 iphone白苹果解决方法【介绍】
  14. VMware windows2003系统安装教程
  15. 读懂了鱼玄机,就读懂了爱情
  16. 文字识别——检测部分 CTPN论文翻译
  17. nand flash基础——基本结构
  18. mysql排序的四种方式
  19. 如果你没空学英语,推荐你关注这几个英语大神都在看的视频号!
  20. 织梦DedeCMS列表页多条件联动筛选功能(移动端列表页使用电脑端模板问题解决)

热门文章

  1. ajax动态生成表格
  2. 前端 页面无刷新方案一
  3. 财富信息不需要传userID后台会根据保存的session提供数据
  4. 计算机技术领域当前的主流技术及社会需求调查报告
  5. 在VC资源文件中加入声音资源
  6. gb50243-2016通风与空调工程施工质量验收规范_【规范】现行建筑标准规范集合:(六)专业工程...
  7. 云服务器文件同步,Windows 8:本地文件与云服务器同步
  8. PCL1.8.0/ Qt5.7.0开发环境配置
  9. putty怎么远程控制linux应用,如何使用linux系统远程操作软件putty!
  10. java 页面接收参数_详解SpringMVC——接收请求参数和页面传参