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.
