[英]Deploying Node Application
我正在使用 NestJS 和 IIS,我已經在IISNode
的幫助下通過 IIS 在服務器上部署了我的dist
文件夾,但是當我運行它時,它給了我一個錯誤'module not found @nestjs/core'
等,所以我安裝了服務器上的整個package.json
文件(node_module),之后它開始正常工作。 但我有一個問題。 我們是否必須在 250MB 以上的服務器上保留node_modules
文件夾? 我們是否有任何其他替代方案可以讓 dist 包含node_modules
的所有必需代碼,就像 Angular 應用程序一樣?
這與 NestJS 無關,但與 NodeJS 本身有關。 一個典型的package.json
文件如下所示:
{
"name": "nest-typescript-starter",
"version": "1.0.0",
"description": "Nest TypeScript starter repository",
"license": "MIT",
"scripts": {
// ...
},
"dependencies": {
"@nestjs/common": "8.2.3",
// ...
},
"devDependencies": {
"@nestjs/cli": "8.1.7",
// ...
}
}
dependencies
項下的所有內容在運行時都是必需的,因為它們正在被您的應用程序使用。 出於各種原因,僅在開發期間才需要devDependencies
下的任何內容。
具有類型模塊、測試工具等之類的devDependencies
是很常見的。
在安裝新的依賴項時,您有兩個選擇:
# Option 1
npm install <dependency name>
# Option 2
npm install --save-dev <dependency name>
如果您提供--save-dev
標志,您將在devDependencies
下安裝該依賴項。
整理好package.json
文件后,將devDependencies
與dependencies
項分開,您可以正確部署應用程序。 在部署過程中,您可以使用以下命令代替運行npm install
:
npm install --omit=dev
通過這樣做,您只需將運行時依賴項安裝到您的node_modules
。
最后,您可以將該node_modules
復制到您的容器(或您用於部署的任何內容)並發布應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.