Nest.js 部署到 now.sh

Nest.js deployment to now.sh

我目前正在尝试将我的演示应用程序部署到 zeit now.sh. In 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 的经验?

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) 来部署你的项目