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(/\\/\\/@@[email protected]@[\\s\\S]*\\/\\/@@[email protected]@/).join(‘//@@[email protected]@\\n‘+loaderText+‘ //@@[email protected]@‘);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"
}
}

时间: 2024-08-28 16:41:38

package.json和bower的参数解释的相关文章

package.json文件内容介绍

概述 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据).npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境. 下面是一个最简单的package.json文件,只定义两项元数据:项目名称和项目版本. { "name" : "xxx", "version" : "0.0.0", } p

React package.json详解

下面是一个更完整的package.json文件. { "name": "Hello World", "version": "0.0.1", "scripts": { "start": "node index.js" }, "dependencies": { "express": "latest", "

package.json文件各个选项含义

本文转自阮一峰老师教程,链接:http://javascript.ruanyifeng.com/nodejs/packagejson.html# 目录 概述 scripts字段 dependencies字段,devDependencies字段 peerDependencies bin字段 main字段 config 字段 其他 browser字段 engines 字段 man字段 preferGlobal字段 style字段 重要说明:本教程已经搬迁,此处不再维护,请访问新网址:wangdoc.

(译)package.json详解

原文链接 概述 本文囊括了所有package.json文件中你需要知道的细节.注意package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量.该文件描述的很多行为都受npm-config中的配置影响. 下面分别介绍package.json中各个字段的含义和用法. name name和version字段是package.json文件中最重要的字段.这是必须的字段,如果你的npm包没有指定这两个字段,将无法被安装.name和version字段被假定组合成一个唯一的标识符

package.json字段记录

先来一个比较完整的package.json { "name": "Hello World", "version": "0.0.1", "author": "张三", "description": "第一个node.js程序", "keywords":["node.js","javascript&qu

npm package.json属性详解

章节目录 概述 name version description keywords homepage bugs license 和用户相关的属性: author, contributors files main bin man directories directories.lib directories.bin directories.man directories.doc directories.example repository scripts config dependencies U

[Node.js] Configuring npm package.json scripts

With a node package manager's (npm) package.json script property, you can preconfigure common tasks like running unit tests with npm $SCRIPT_NAME. package.json: { "name": "commonJSBroswerfiy", "version": "0.0.0", &q

NodeJS中 package.json 解析

package.json 中包含各种所需模块以及项目的配置信息(名称.版本.许可证等)meta 信息. 包含可配置项 name 名称 应用描述 description 版本号 version 应用的配置项 config 作者 author 资源仓库地址 respository 授权方式 licenses 目录 directories 应用入口文件 main 命令行文件 bin 项目应用运行依赖模块 dependencies 项目应用开发环境依赖 devDependencies 运行引擎 engi

伙计,给我来一杯package.json!不加糖

前言:夜深了,我熬了一锅热气腾腾的package.json,给大家端上来,希望大家喜欢 json和JS对象的区别 package.json,顾名思义,它是一个json文件,而不能写入JS对象. 所以我们首先要搞懂的是JSON和JS对象的区别: (图源:找到的都是被爬虫爬的文章,实在找不到原作者..) [注意] 在JSON中属性名一定要加上双引号 name字段 name字段的限制 1.name字段必须小于214字符(这个没什么好记的-) 2.name字段不能包含有“.”符号和下划线(这个要记一下哦