TS2307:找不到模块“类验证器”

Ole*_*Ole 2 typescript gulp gulp-typescript

我正在尝试在打字稿项目中使用类验证器模块。但是,当我编译打字稿时会发出以下警告:

src/main/ts/domain/Order.ts(1,48): error TS2307: Cannot find module 'class-validator'.
Run Code Online (Sandbox Code Playgroud)

它抱怨的行看起来像这样:

  import { IsInt, IsNotEmpty, IsDate, Min } from "class-validator";
Run Code Online (Sandbox Code Playgroud)

我有这样的吞咽设置:

    var gulp = require('gulp');
    var ts = require('gulp-typescript');
    var tsProject = ts.createProject("tsconfig.json");

    gulp.task('default', function() {
      return tsProject.src()
        .pipe(tsProject())
        .js.pipe(gulp.dest("target/main/js"));
    });
Run Code Online (Sandbox Code Playgroud)

我的 tsconfig.json 看起来像这样:

    {
        "files": [
            "src/main/ts/**/*.ts"
        ],
        "compilerOptions": {
            "experimentalDecorators": true,
            "noImplicitAny": true,
            "target": "es6"
        }
    }
Run Code Online (Sandbox Code Playgroud)

想法?

Sar*_*ana 6

设置"moduleResolution": "node"在您的tsconfig.json

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "noImplicitAny": true,
    "target": "es6"
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关 TypeScript 如何解析导入模块的更多信息:https : //www.typescriptlang.org/docs/handbook/module-resolution.html#node


Faz*_*ton 6

这对我有用:yarn add graphql class-validator type-graphql

来源:https ://github.com/MichalLytek/type-graphql/issues/625#issuecomment-626368051