Búsqueda de sitios web

typescript - TS2307: No se puede encontrar el módulo 'class-validator'


Estoy intentando usar el módulo class-validator en un proyecto de TypeScript. Sin embargo, al compilar, TypeScript emite la siguiente advertencia:

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

La línea de la que se queja se ve así:

  import { IsInt, IsNotEmpty, IsDate, Min } from "class-validator";

Tengo gulp configurado así:

    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"));
    });

Y mi tsconfig.json se ve así:

    {
        "files": [
            "src/main/ts/**/*.ts"
        ],
        "compilerOptions": {
            "experimentalDecorators": true,
            "noImplicitAny": true,
            "target": "es6"
        }
    }

¿Pensamientos?

Respuesta #1

Establece "moduleResolution": "node" en tu tsconfig.json:

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "noImplicitAny": true,
    "target": "es6"
  }
}

Puedes encontrar más información sobre cómo TypeScript resuelve tus módulos importados aquí: https://www.typescriptlang.org/docs/handbook/module-resolution.html#node

Respuesta #2

Esto me funcionó: yarn add graphql class-validator type-graphql

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

Artículos relacionados