npm run XXX是執(zhí)行配置在package.json中的腳本,比如:
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "karma start test/unit/karma.conf.js --single-run",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
},
只有這里配置了,你才能run,所以不是所有的項(xiàng)目都能npm run dev/build。要了解這些命令做了什么,就要去scripts中看具體執(zhí)行的是什么代碼。這里就像是一些命令的快捷方式,免去每次都要輸入很長(zhǎng)的的命令(比如unit那行)。
為什么會(huì)出現(xiàn)ERROR,就是因?yàn)樵谂苓@些對(duì)應(yīng)的腳本文件的時(shí)候,可能是某些依賴沒有被加載等的。
一般項(xiàng)目都會(huì)有build, dev, unit等,從名字上基本能看出來是干什么的。比如上面配置的<font color=#ff0000 size=3>unit</font>,就是開啟karma去跑單元測(cè)試,具體測(cè)試內(nèi)容,要去看karma.conf.js;<font color=#ff0000 size=3>e2e</font>就是end to end的端到端測(cè)試;而<font color=#ff0000 size=3>test</font>則會(huì)將單元測(cè)試和端到端測(cè)試都執(zhí)行。
有些項(xiàng)目中根據(jù)需要,還會(huì)配置其他命令,例如自動(dòng)生成文檔,比如這里:
"build:doc": "node ./scripts/build-doc.js",
如果你去build-doc.js中看的話,會(huì)發(fā)現(xiàn),這個(gè)腳本在遍歷所有源文件,解析注釋和其他內(nèi)容,自動(dòng)生成API文檔