package.json和bower的參數解釋

來源:互聯網
上載者:User

標籤:svn   pmi   儲存   令行   服務   鉤子   block   syn   info   

一、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(‘//@@N[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"
}
}

 

  

package.json和bower的參數解釋

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.