日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
NPM使用技巧

如果你是一個JavaScript系的開發(fā)者,一定不會陌生NPM,它既是一個平臺,也是一個工具。在這個平臺上,我們能夠使用其他開發(fā)者提供的功能代碼,當然我們也能將我們自己代碼提交到這里分享給世界上的開發(fā)者。

在網(wǎng)站設計、做網(wǎng)站中從網(wǎng)站色彩、結(jié)構布局、欄目設置、關鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設十多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。

以下記錄一些NPM作為工具的一些使用技巧。

npmrc

.npmrc 做為npm的配置文件,它可以定義在多個地方。

 
 
 
 
  1. ~/.npmrc

用戶根目錄,根目錄內(nèi)所有的npm指令都會查詢到該配置

 
 
 
 
  1. /path/to/npm/npmrc

npm內(nèi)建配置文件

 
 
 
 
  1. ./.npmrc

當前項目根目錄,用于配置特定于當前項目的配置

npmrc對我們來說十分有用,我們可以配置例如username、registry、email等信息。 eg:

 
 
 
 
  1. save=true 
  2. save-exact=true 
  3. email=wfsovereign@outlook.com 
  4. username=wfsovereign 
  5. registry=https://registry.npm.taobao.org

npm最讓人頭疼的問題之一就是版本號了,這里配置了save和save-exact屬性,作用是讓我們 npm install 指令安裝的依賴自動保存在 package.json 文件的 dependencies 中并且讓版本號固定。

一些國內(nèi)的服務器在拉取某些被墻的包的經(jīng)常會失敗或者速度很慢,這個時候我們可以試試 淘寶NPM鏡像 (這是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻率目前為 10分鐘 一次以保證盡量與官方服務同步)。官方還定制了 cnpm ,這個看具體情況而定了。比如,我曾經(jīng)的一個項目,部署在微軟的Asure上面,這個服務器感覺被墻的厲害,用官方的npm庫下phantomjs的zip文件運氣好的話也得下個兩三次才能下下來,后來為了解決這個問題嘗試了淘寶鏡像,不過問題就出在用了cnpm,用cnpm拉的包在本地編譯不了,后來換回npm,使用淘寶鏡像,一切正常了~

package.json

package.json 是項目的配置管理文件,它定義了這個項目所需要的各個依賴模塊以及項目的配置信息(名字,版本號,許可證等)。一個最基本的 package.json 必須有 name 和 version ,差不多長這樣:

 
 
 
 
  1. "name": "xxx", 
  2. "version": 0.0.0 
  3. }

我們可以通過 npm init 指令初始化創(chuàng)建一個package.json文件,

 
 
 
 
  1. "name": "test", 
  2. "version": "1.0.0", 
  3. "description": "", 
  4. "main": "index.js", 
  5. "scripts": { 
  6. "test": "echo \"Error: no test specified\" && exit 1" 
  7. }, 
  8. "author": "wfsovereign", 
  9. "license": "ISC", 
  10. "devDependencies": { 
  11. }, 
  12. "dependencies": { 
  13. }

下面分屬性介紹

scripts

scripts 定義了一些腳本指令的npm命令縮寫,通過這些命令我們可以方便的啟動項目、進行測試或者拿到一些鉤子來做某些指令前預先做的事,

 
 
 
 
  1. "scripts": { 
  2. "pretest": "echo \"this is pre test\" ",
  3. "test": "echo \"Error: no test specified\"", 
  4. "posttest": "echo \"this is post test\"" 
  5. }

當我們執(zhí)行 npm test 會得到如下輸出:

 
 
 
 
  1. this is pre test 
  2. test@1.0.0 test 
  3. echo “Error: no test specified” 
  4. Error: no test specified 
  5. test@1.0.0 posttest 
  6. echo “this is post test” 
  7. this is post test

通過如上實驗,我們能夠知道, prexx 指令是一個預執(zhí)行指令, postxx 是一個后置指令,他倆都和 xx 指令強相關。

main

main 指定項目加載的入口文件,默認是根目錄的inde.js

file

file 是一個字符串的數(shù)組,指定我們發(fā)布的包應該包含當前目錄的哪些文件,這個在我們發(fā)布包的時候很有用,因為開發(fā)包里面的文件夾不是都需要發(fā)布出去的。當然一下文件是始終會被包含進去的,不論我們是否設置,

 
 
 
 
  1. package.json 
  2. README 
  3. CHANGES / CHANGELOG / HISTORY 
  4. LICENSE / LICENCE 
  5. NOTICE 
  6. The file in the “main” field

keywords

keywords 指定了在庫中搜索時能夠被哪些關鍵字搜索到,所以一般這個會多寫一些項目相關的詞在這里,這是一個字符串的數(shù)組。

其余屬性詳情可以查詢 官方文檔

semantic version

關于語義化的版本號,這里不多講,放一些preference

 
 
 
 
  1. npm semver 
  2. Gravatars semver

Nodejs項目中最常見的一些版本標識( *, ~, ^ ),經(jīng)常忘了它們的含義,這里記錄一下:

  • * 任意版本
  • 1.0.0 安裝指定的1.0.0版本

lodash: 4.7.0 會安裝準確的4.7.0到我們的node_module目錄

  • ~1.0.0 安裝 >= 1.0.0 小于 1.(0 + 1).0的***版本
  • ^1.0.0 安裝 >= 1.0.0 小于 (1 + 1).0.0的***版本

package publish

如何發(fā)布一個包?

  1. npm addUser 按照提示輸入賬號密碼,創(chuàng)建一個npm的賬號,如果已有賬號直接到下一步
  2. npm whoami 查看當前用戶,確認是使用當前用戶來發(fā)布包
  3. npm publish 然后就可以直接發(fā)布了,當然這個時候可能會出現(xiàn)各種問題,比如你的包和別人的重名了,或者當前的包的版本號已經(jīng)發(fā)布過了等等

說到發(fā)布包,這里在記錄一些開發(fā)包的小技巧。

我們在開發(fā)包的時候免不了一些調(diào)試,但是這些調(diào)試的過程我們并不想它發(fā)布又想確保當前的功能是可用的,這個時候有兩個辦法能夠幫助我們來解決這個問題。

 
 
 
 
  1. npm link

關于 npm link 的詳細介紹我們可以看 官網(wǎng) ,這里介紹三種用法:

直接在我們開發(fā)包的主目錄下直接使用,這個時候,相當于我們在npm global的目錄下符號鏈接了當前包。

npm link package-name , 作用相當于把一個全局安裝的包link到了我們當前目錄下node_module中。

在 package.json 文件的dependencies中使用如下方式聲明,然后就如同使用一個已經(jīng)正常發(fā)布的包一樣安裝使用就行。

 
 
 
 
  1. "dependencies": { 
  2. "bar": "file:../foo/bar" 
  3. }

分享標題:NPM使用技巧
文章網(wǎng)址:http://www.5511xx.com/article/cdgipej.html