簡體   English   中英

部署節點應用程序

[英]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文件后,將devDependenciesdependencies項分開,您可以正確部署應用程序。 在部署過程中,您可以使用以下命令代替運行npm install

npm install --omit=dev

通過這樣做,您只需將運行時依賴項安裝到您的node_modules

最后,您可以將該node_modules復制到您的容器(或您用於部署的任何內容)並發布應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM