npm小結

一、修改公共倉庫地址

windows下,修改C:UsersAdministrator下的文件.npmrc,將registry改成淘寶鏡像地址,registry=https://registry.npm.taobao.org/vue

二、初始化

項目根目錄下執行命令行npm init,各類參數根據本身需求填寫,生成package.json文件。webpack

三、發佈本身的npm包

3.1 在 npm 官網 https://www.npmjs.org 申請一個帳號。

3.2 npm init後,添加要發佈的包的相關內容(什麼都不加也是能夠發佈的)。

3.3 命令行執行npm adduser --registry http://registry.npmjs.org,輸入npm官網申請的帳戶名,密碼和郵箱(由於公共npm倉庫已經改成淘寶鏡像地址,因此--registry http://registry.npmjs.org不能省略)。

3.4 執行npm publish --registry http://registry.npmjs.org將包發佈到npm上。登陸到npm官網,點擊右上角頭像,選中Profile就能夠看到發佈的包。

四、更新已經發布的包

修改相關的內容後,修改包目錄下的package.json文件,修改version版本號,好比以前是1.0.0,修改成2.0.0。而後執行npm publish --registry http://registry.npmjs.org就能夠將包更新到npm上。es6

五、npm install

5.1 全局安裝npm install 包名稱 -g

5.2 本地安裝,並更新package.json的dependenciesnpm install 包名稱 --save

5.3 本地安裝,並更新package.json的devDependenciesnpm install 包名稱 --save-dev

六、npm update失敗

好比說以前咱們發佈到npm上的包名稱npm-test,版本爲1.0.0,未更新以前npm install npm-test --save-dev安裝的就是1.0.0版本的。新發布了一個可用的版本2.0.0後,想更新到最新的版本,運行npm update npm-test,不起做用。緣由是由於npm規定了https://docs.npmjs.com/misc/semver#prerelease-identifiers,看不太懂,只知道是這個緣由☹web

七、dependencies和devDependencies的區別

當咱們使用別人的包的時候,常常會疑惑,是該npm install xxx --save仍是npm install xxx --save-dev。前者是安裝包而且更新package.json的dependencies,後者是安裝包並更新package.json的devDependencies,若是隻是使用別人的包,而不將包發佈到npm上,兩種方式均可以正常使用。可是當咱們要把咱們的包發佈到npm上時,必定要區分好dependencies和devDependencies的區別。
比方說咱們以前發佈的npm-test包,包中須要使用了vue,那是要執行npm install vue --save仍是npm install vue --save-dev呢?當別人使用咱們這個包的時候,前提vue這個包已經安裝了,可是用戶不會去看咱們的包依賴哪些包,而後一一得手動去安裝這些依賴包。因此當用戶 npm insall npm-test --save要使用咱們這個包的時候,應該也要自動安裝vue這個包。而當咱們的包中安裝vue的時候,使用npm install vue --save就能夠了,用戶使用咱們的包的時候,也會安裝vue這個包。若是咱們包的相關的功能代碼是用es6寫的,而且安裝了babel,webpack等相關的包,這些包的安裝應該使用npm install vue --save-dev,當用戶使用咱們的包的時候,不會安裝這些包。npm

相關文章
相關標籤/搜索