Nest.js部署到now.sh

问题描述 投票:4回答:1

我目前正在尝试将我的演示应用程序部署到zeit now.sh。在documentation中,我发现了如何部署Node.js和Express.js应用程序。但我所指的示例是作为参数js文件与服务器初始化,并且默认情况下Nest.js项目具有作为入口点ts文件。整个应用程序用打字稿编写。如果我尝试使用main.ts作为入口点,我收到此错误:

11/28 08:05 PM (1m)

{ Error: Cannot find module './app.module'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/task/user/src/main.ts:26040:18)
    at __webpack_require__ (/var/task/user/src/main.ts:21:30)
    at Module.module.exports.Object.defineProperty.value (/var/task/user/src/main.ts:26050:69)
    at __webpack_require__ (/var/task/user/src/main.ts:21:30)
    at module.exports.Object.setPrototypeOf.__proto__ (/var/task/user/src/main.ts:85:18)
    at Object.<anonymous> (/var/task/user/src/main.ts:88:10) code: 'MODULE_NOT_FOUND' }

11/28 08:05 PM (1m)

Error while initializing entrypoint: { Error: Cannot find module './app.module'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/task/user/src/main.ts:26040:18)
    at __webpack_require__ (/var/task/user/src/main.ts:21:30)
    at Module.module.exports.Object.defineProperty.value (/var/task/user/src/main.ts:26050:69)
    at __webpack_require__ (/var/task/user/src/main.ts:21:30)
    at module.exports.Object.setPrototypeOf.__proto__ (/var/task/user/src/main.ts:85:18)
    at Object.<anonymous> (/var/task/user/src/main.ts:88:10) code: 'MODULE_NOT_FOUND' }

有没有人有经验将Nest.js应用程序部署到now.sh?

javascript node.js typescript nestjs zeit-now
1个回答
1
投票

部署应用程序时,应始终首先将其转换为javascript(无论现在如何)。

1)将文件now.json添加到项目根目录:

{
  "version": 2,
  "builds": [
    {
      "src": "dist/main.js",
      "use": "@now/node-server"
    }
  ],
  "routes": [
    {
      "src": "/(.*)",
      "dest": "dist/main.js"
    }
  ]
}

2)运行npm run build将项目编译到dist文件夹

3)运行now(cli)来部署你的项目

© www.soinside.com 2019 - 2024. All rights reserved.