NPM是隨同NodeJS一塊兒安裝的包管理工具,能解決NodeJS代碼部署上的不少問題,常見的使用場景有如下幾種:javascript
index.js文件示例:html
module.exports.sayHello = function(){ return "Hello World!"; }
npm init
快速建立可使用npm init -y命令前端
npm官網地址: https://www.npmjs.comjava
註冊成功後,打開cmd進入到demo目錄,登陸帳號:node
npm login
輸入用戶密碼以及郵箱,登陸成功後能夠輸入查詢命令:npm
npm whoami
就能看到你酷酷的帳號名了~~json
附:剛註冊完有段時間能夠發佈npm包,過段時間須要郵箱驗證經過才能發佈包,否則會報錯(無傷大雅~~)瀏覽器
npm publish
這時候npm報錯大軍要來了安全
npm ERR! publish Failed PUT 403 npm ERR! code E403 npm ERR! you do not have permission to publish "demo". Are you logged in as the correct user? : demo
這是什麼緣由??就是與npm倉庫的包名重複了服務器
改改改~~
拿出package.json文件,把name字段值改爲下面:
"name": "testfun"
注意你的name字段值不要跟我同樣,否則還會包上述錯誤,避免相同包名就能夠啦
還有一點要注意的是npm對包名的限制:不能有大寫字母/空格/下滑線
上傳成功後你就能夠在npm官網看到:
查看模塊擁有者 $ npm owner ls <package_name> 添加發布者 $ npm owner add <user> <package_name> 刪除發佈者 $ npm owner rm <user> <package_name>
npm unpublish --force
主要是處於安全性考慮,在Azer NPM 撤包事件後,npm公佈了一版新的規則,以下:
npm version patch npm version minor npm version major
例如:我本來的項目是1.0.0版本的話
如果1中狀況,變爲1.0.1
如果2中狀況,變爲1.1.0
如果3中狀況,變爲2.0.0
不過也能夠在package.json中的version更改~~
index.js文件代碼:
var testfun = require("testfun"); console.log(testfun.sayHello());
npm install --save-dev testfun
node index.js
就能夠看到下面的效果啦~
這是運行在node環境,那麼像運行在瀏覽器該怎麼弄呢~~
這時候就要用到browserify了
Browserify 可讓你使用相似於 node 的 require() 的方式來組織瀏覽器端的 Javascript 代碼,經過預編譯讓前端 Javascript 能夠直接使用 Node NPM 安裝的一些庫。
npm install -g browserify
browserify index.js > bundle.js
在test目錄新建index.html:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="bundle.js"></script> </head> <body> </body> </html>
打開index.html就能夠看到控制器中的效果:
這樣就用有本身的npm包了(^ω^)~~~