[英]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.