File 如何修复测试文件上载时tsc监视重新启动?

File 如何修复测试文件上载时tsc监视重新启动?,file,nestjs,tsc,File,Nestjs,Tsc,我想在我的NestJS项目中本地测试文件上传API。我跟着。但是,当我上载文件时,tsc watch会重新启动,因为upload文件夹已更改 这里我使用的是NestJSversion6以及从nestcli安装的所有东西。我还使用谷歌云存储来存储文件。我通过运行start:dev本地测试项目 我已尝试在tsconfig.json和tsconfig.build.json中的exclude选项中添加upload文件夹,但它不起作用 我还尝试过使用nodemon。不幸的是,nodemon在我更改代码时不

我想在我的NestJS项目中本地测试文件上传API。我跟着。但是,当我上载文件时,
tsc watch
会重新启动,因为
upload
文件夹已更改

这里我使用的是
NestJS
version6以及从
nestcli
安装的所有东西。我还使用谷歌云存储来存储文件。我通过运行
start:dev
本地测试项目

我已尝试在
tsconfig.json
tsconfig.build.json
中的
exclude
选项中添加
upload
文件夹,但它不起作用

我还尝试过使用
nodemon
。不幸的是,
nodemon
在我更改代码时不会重新启动

以下是一些代码():

控制器 服务
fileService
package.json
我希望文件会在之后上传和删除,但是
tsc watch
会继续重新启动,并且从不上传或删除文件


上传
目录发生更改时,是否仍可以从重新启动时停止
tsc watch
,或者是否应该使用任何其他工具?

您可以在package.json中设置为忽略watch

"watch": {
    "ignore": "upload"
  }

使用
ts lint
的第一个解决方案是将
upload
文件夹移到
src
文件夹之外,并忽略该文件夹

另一种解决方案与您建议的相同,将
nodemon
ts node
一起使用,但
nodemon
本身存在监视
docker
内部文件的问题,并将start命令更改为以下命令

"start": "nodemon -L --watch 'src/**/*.ts' --exec ts-node src/main.ts",
    async uploadFile(name: string, file: FileDto) {
        await this.bucket.upload(file.path, {
            destination: name,
            contentType: file.mimetype,
            resumable: false,
        });
        removeSync(file.path);
    }
{
  ...
  "scripts": {
    ...
    "start:dev": "tsc-watch -p tsconfig.build.json --onSuccess \"node dist/main.js\"",
    ...
  },
  "dependencies": {
    "@google-cloud/storage": "^3.3.1",
    "@nestjs/common": "^6.0.0",
    "@nestjs/core": "^6.0.0",
    "@nestjs/mongoose": "^6.1.2",
    "@nestjs/platform-express": "^6.0.0",
    "class-transformer": "^0.2.3",
    "class-validator": "^0.10.1",
    "fs-extra": "^8.1.0",
    "mongoose": "^5.7.3",
    "reflect-metadata": "^0.1.12",
    "rimraf": "^2.6.2",
    "rxjs": "^6.3.3"
  },
  "devDependencies": {
    "@nestjs/testing": "^6.0.0",
    "@types/express": "4.16.1",
    "@types/fs-extra": "^8.0.0",
    "@types/jest": "24.0.11",
    "@types/mongoose": "^5.5.19",
    "@types/node": "11.13.4",
    "@types/supertest": "2.0.7",
    "jest": "24.7.1",
    "prettier": "1.17.0",
    "supertest": "4.0.2",
    "ts-jest": "24.0.2",
    "ts-node": "8.1.0",
    "tsc-watch": "2.2.1",
    "tsconfig-paths": "3.8.0",
    "tslint": "5.16.0",
    "typescript": "3.4.3"
  },
  ...
}
"watch": {
    "ignore": "upload"
  }
"start": "nodemon -L --watch 'src/**/*.ts' --exec ts-node src/main.ts",