package.json和bower的参数解释
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的参数解释相关推荐
- nodejs的package.json配置参数
一直对node设置package.json的参数不甚了解,借着vscode工具的注释,我把package.json中的options全部展示一下,中文注释部分可能不是package.json里的配置参 ...
- npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?
本文翻译自:What's the difference between dependencies, devDependencies and peerDependencies in npm packag ...
- warning ..\package.json: No license field
在初始化Vue项目的的时候发现警告 yarn install 查了下发现是,package.json 文件中缺少license参数 {"name": "movie_vie ...
- 二:项目初始化文件—package.json
一:项目初始化 package.json 文件 1:新建一个项目文件夹并用 vscode 打开该文件夹,作为项目根目录文件夹: 2:打开 vscode 的终端命令行,开始初始化 package.jso ...
- npm使用入门(package.json)
npm使用入门 crazygit 关注 2017.03.10 18:31 字数 1773 阅读 1617评论 0喜欢 10 NPM是什么 npm npm makes it easy for JavaS ...
- 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' 根据错 ...
- npm package.json文件解读
每个Nodejs项目的根目录下面,一般都会有一个package.json文件.该文件可以由npm init生成,定义了项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). pa ...
- Node.js中package.json中库的版本号详解(^和~区别)
Node.js中package.json中库的版本号详解(^和~区别) 当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号 ...
- npm 与 package.json 快速入门
摘自 https://blog.csdn.net/u011240877/article/details/76582670#什么是-npm npm 是前端开发广泛使用的包管理工具,之前使用 Weex ...
最新文章
- java培训分享:java软件开发可以用哪些软件?
- 视学算法第六轮送书活动,16本高质量书免费拿走!
- runtime objc_msgSend
- Ubuntu 无线密码破解利器aircrack-ng
- 在Java中使用Spliterator
- php 中文 decode_php json_decode 解析中文
- TCP协议——粘包与拆包
- string s = new string(“xyz“);创建了几个对象_「005」-JavaSE面试题(五):String类
- 4、Windows2008 R2安装Vcenter5.0
- 确定填充介质的矩形波导单模传输TE10波的工作频率
- linux使用running网卡ping,Linux CentOS 7 IP地址配置及网络问题排查
- IDC评述网:1月下旬国内域名注册商净增量Top10
- iphone开机白苹果_iphone白苹果原因是什么 iphone白苹果解决方法【介绍】
- VMware windows2003系统安装教程
- 读懂了鱼玄机,就读懂了爱情
- 文字识别——检测部分 CTPN论文翻译
- nand flash基础——基本结构
- mysql排序的四种方式
- 如果你没空学英语,推荐你关注这几个英语大神都在看的视频号!
- 织梦DedeCMS列表页多条件联动筛选功能(移动端列表页使用电脑端模板问题解决)
热门文章
- ajax动态生成表格
- 前端 页面无刷新方案一
- 财富信息不需要传userID后台会根据保存的session提供数据
- 计算机技术领域当前的主流技术及社会需求调查报告
- 在VC资源文件中加入声音资源
- gb50243-2016通风与空调工程施工质量验收规范_【规范】现行建筑标准规范集合:(六)专业工程...
- 云服务器文件同步,Windows 8:本地文件与云服务器同步
- PCL1.8.0/ Qt5.7.0开发环境配置
- putty怎么远程控制linux应用,如何使用linux系统远程操作软件putty!
- java 页面接收参数_详解SpringMVC——接收请求参数和页面传参