node.js - 你如何使用 Forever 运行带有 typescript 文件的 NodeJS Express API?
问题描述
我已经永久安装了 npm,还安装了 npm ts-node,并且 npm 安装了 typescript 以尝试让这个 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 项目
解决方案
使用. Angular
_ dist
_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')));
推荐阅读
- json - 如何在swift中将两个值中的一个值添加到参数键?
- mongodb - 使用 Spring Boot 和 MongoTemplate 对 MongoDB 结果进行排序
- java - 如何使用在某一天结束并在另一天重新开始计数的计数器(倒计时)?
- node.js - 带有确认的 Socketclustser 不起作用
- java - Java Regex - 定义捕获组时可能出现错误
- ruby-on-rails - ruby on rails 的 React/redux 优势
- git - 使用 git 组织文档
- syntax - 重用(匿名)记录值的最佳语法
- python - 如何为离线站下载存储库 Python (pip)
- ruby - Ruby - Datatable 的等效对象?