node.js 中的打字稿不会删除 dist 文件夹?

Posted

技术标签:

【中文标题】node.js 中的打字稿不会删除 dist 文件夹?【英文标题】:typescript in node.js doesn't remove dist folder? 【发布时间】:2021-03-13 05:56:28 【问题描述】:

我必须手动删除

dist/app.js 查看最新更改。我的 package.json 中有这个启动脚本

"start": "tsc && node dist/app.js"

默认节点是否只保留 dist 文件夹,所以我必须在编译之前将其删除?

【问题讨论】:

【参考方案1】:

要删除 dist 文件夹,您可以拥有您的 package.json 文件,如下所示:


  "name": "sample",
  "version": "1.0.0",
  "description": "",
  "main": "dist/app.js",
  "scripts": 
    "clean": "rm -rf dist",
    "build": "tsc",
    "start": "npm run clean && npm run build && node dist/app.js"
  ,
  "keywords": [],
  "author": "Jayant Malik",
  "license": "MIT",
  "dependencies": 
    "nodemon": "^2.0.6",
    "typescript": "^4.1.2"
  

【讨论】:

【参考方案2】:

如果不是处于开发模式,TS 不会删除dist 文件夹中的文件;

看到这个问题:https://github.com/Microsoft/TypeScript/issues/13722

一个简单的解决方案是删除目录(您可以使用rimraf 来保证操作系统的稳健性)

【讨论】:

使用 ts-node 比仅仅使用 ts 更好吗?在许多节点项目中,我看不到他们的启动脚本有类似 rimraf 这与原始问题无关,但 tldr - 使用 tsc。在这里阅读更多***.com/questions/51448376/…

以上是关于node.js 中的打字稿不会删除 dist 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何在打字稿中导入js文件作为模块

即使重新安装节点后也不会删除打字稿

打字稿:不能在模块外使用导入语句

我的命名空间未定义。打字稿

打字稿编译不输出到 outDir 选项

使用汇总生成打字稿定义文件