我想在“開始”腳本中添加一個命令,所以當我這樣做時npm start,將運行的第一件事是npm install.
我的 package.json 如下所示:
.
.
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "DEBUG=my-app node src/index.js",
"dev": "nodemon src/index.js"
},
.
.
.
我想npm install在start腳本中添加:
"start": "npm install DEBUG=my-app node src/index.js",
但這不起作用,所以我想得到一個建議,如果有可能的話..
uj5u.com熱心網友回復:
我認為你只使用 && 連接器。喜歡:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "npm install && DEBUG=my-app node src/index.js",
"dev": "nodemon src/index.js"
}
uj5u.com熱心網友回復:
Andy 是的,我的應用程式應該使用單個命令部署一次。
這是一個相當沉重/緩慢的開始,在啟動應用程式之前安裝所有模塊。
這意味著如果我更改節點服務器中的代碼,停止該程序并再次運行它,就會發生完整安裝。我意識到您有一個帶有 nodemon 的開發腳本,但仍然如此。
另一種情況:如果您的應用程式在實時服務器上崩潰并且您需要再次啟動它,那么將進行完整安裝。如果模塊升級了補丁或次要版本,會發生什么。這意味著您將啟動一個具有不同依賴項的專案。
如果您在 ci/cd 中執行此操作,則通常會拆分管道:
- 安裝 - npm ci
- 構建/編譯 - 例如,如果你有打字稿(不是你的情況)
- 運行所有測驗
- 使用 npm prune 洗掉 devDependencies
- 啟動流程
您可能會做的是有一個名為“管道”或其他東西的腳本,然后呼叫它。
"pipeline": npm ci && npm run build && npm test && npm prune && npm start
然后將在您的管道代碼中呼叫此腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/385243.html
標籤:javascript 节点.js 新产品经理
下一篇:以NPM(pm2)啟動的終止行程
