Búsqueda de sitios web

typescript - No se puede crear un proyecto de Angular 5 usando angular-cli


Estoy tratando de crear un nuevo proyecto de Angular 5. He instalado la versión 1.6.3 de @angular/cli y escribí:

ng new project --routing

Después de que todo haya sido instalado, hice:

cd project
ng build

Y obtuve los siguientes errores:

Error en la construcción del módulo: Error: d:...\project\src\main.ts falta en la compilación de TypeScript. Por favor, asegúrese de que esté en su tsconfig mediante la propiedad 'files' o 'include'.

Error en la construcción del módulo: Error: d:...\project\src\polyfills.ts falta en la compilación de TypeScript. Por favor asegúrese de que esté en su tsconfig mediante la propiedad 'files' o 'include'.

Hay un par de discusiones sobre esto en la página de GitHub de Angular, pero aparte de decir que esto se ha resuelto o señalar un problema donde había archivos ts en node_modules, no fue útil.

Estamos usando Windows 10 aquí.

EDITAR: los archivos tsconfig son (hay dos):

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

El otro (src/tsconfig.app.json):

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": []
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

Estos fueron creados ambos por ng new.

Respuesta #1

¡Oh cielos, olvidé responder a esta pregunta! Fue respondida en el GitHub de Angular hace mucho tiempo.

En Angular 5 necesitas añadir --preserve-symlinks tanto a ng build como a ng serve.

En Angular 6 ya no se puede hacer eso, y en su lugar necesitas añadir

 "preserveSymlinks": true,

a angular.json, lo pones bajo architect/build/options de tu proyecto.

Respuesta #2

Verifica que estás usando al menos node 6.9.x y npm 3.x.x ejecutando node -v y npm -v en una ventana de terminal/consola. Las versiones antiguas producen errores, pero las versiones más nuevas están bien.

Artículos relacionados