如何通过Forever运行带有打字稿文件的NodeJS Express API?

我已经永久安装了npm,还永久性地安装了ts-node和npm,并安装了打字稿以尝试使此API运行。 我一直在尝试“永远启动-v -c ts-node ./lib/server.ts”或“永远启动-v -v ts-node ./lib/app.ts”,并且有很多版本可以运行它,但永远都是日志引发错误

events.js:187
      throw er; // Unhandled 'error' event
      ^

Error: spawn tail ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19)
    at onErrorNT (internal/child_process.js:456:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
    at onErrorNT (internal/child_process.js:456:16)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  errno: 'ENOENT',code: 'ENOENT',syscall: 'spawn tail',path: 'tail',spawnargs: [ '-n',100,'C:\\Users\\*****\\.forever\\P0EG.log' ]

如果我遵循该日志文件,则会显示

'ts'不被识别为内部或外部命令, 可操作的程序或批处理文件。 错误:永远检测到的脚本已退出,代码为:1

我已经为此工作了好几天,似乎无法找出解决方案,我需要在后台运行服务器而不需要打开VSCode或任何其他窗口,因为它将在VM上运行并且需要它始终使客户端能够达到其端点。 这是项目的文件夹结构,如果重要的话,客户端是Angular项目

如何通过Forever运行带有打字稿文件的NodeJS Express API?

CCup_LoveTodo 回答:如何通过Forever运行带有打字稿文件的NodeJS Express API?

使用Angulardist构建到ng build --prod文件夹中。

Angular.json文件应包含有关操作方法的说明

"options": {
    "outputPath": "dist","index": "... index.html","main": "... main.ts","assets": [
        ... assets file location
    ],"styles": [
         ... your css
    ],"scripts": []
}

让您的node服务器指向该目录:

/* init static directory */
app.use(express.static(path.join(__dirname,'dist')));
,

首先要解决此问题,我必须运行'npm run prod',这触发了一个npm构建,该构建为我提供了app.js和server.js文件所需的dist文件夹

然后,我发现最新版本的Forever能够读取“ C:Program Files”中的文件空间存在问题,因此一旦我执行了“永远启动服务器”,我们就降级为永远v1.0.1。 js”,这使我的api在正确的端口上运行,而我的Angular应用程序也可以正常运行。

本文链接:https://www.f2er.com/2518326.html

大家都在问