Estoy usando el inicio rápido de 5 minutos del sitio web angular.io, que contiene una estructura de archivos como esta:
angular2-quickstart app app.component.ts boot.ts index.html license.md package.json tsconfig.jsonel tsconfig.json es un bloque de código como este:
{ "compilerOptions": { "target": "ES5", "module": "system", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false }, "exclude": [ "node_modules" ] }También el paquete.json:
{ "name": "angular2-quickstart", "version": "1.0.0", "scripts": { "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", "start": "concurrent \"npm run tsc:w\" \"npm run lite\" " }, "license": "ISC", "dependencies": { "angular2": "2.0.0-beta.0", "systemjs": "0.19.6", "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.0", "zone.js": "0.5.10" }, "devDependencies": { "concurrently": "^1.0.0", "lite-server": "^1.3.1", "typescript": "^1.7.3" } }Cambio el sourceMap de verdadero a falso, por lo que en el editor de código, el archivo del mapa no se genera nuevamente, pero el archivo js aún se genera.
Quiero trabajar solo en el archivo ts y no quiero obtener un brunch del archivo js y js.map, ¿qué debo hacer para poner todos mis archivos ts en mi carpeta de aplicaciones tipo floder de desarrollo regular y todos los js y js? mapear archivos en una carpeta llamada dist?
Un buen ejemplo de esto podría ser angular2-webpack-quickstart . ¿Pero no entendí cómo hacen eso?
Algún consejo sobre cómo hacerlo, por supuesto, no manualmente.
Gracias,
Probablemente tarde, pero aquí hay una solución de dos pasos.
Cambie system.config.js actualizando 'app' a 'dist/app' :
var map = { 'app': 'app', // 'dist/app', . . . };Ahora se verá así:
var map = { 'app': 'dist/app', // 'dist/app', . . . }; Cree la carpeta dist .
Edite tsconfig.json y agregue:
"outDir": "dist" El tsconfig.json resultante:
{ "compilerOptions": { . . . . "outDir": "dist" // Pay attention here }, "exclude": [ . . . ] } Ejecute npm start y debería ver todos los archivos .js y .map.js compilados en la carpeta dist .
Nota : revise otras respuestas. Son muy útiles e informativos también.
Mi solución es un poco diferente de la anterior. Estaba comenzando desde la semilla Angular2 Quickstart definida aquí: https://github.com/angular/quickstart#create-a-new-project-based-on-the-quickstart
Y luego solo cambió lo siguiente:
"outDir": "../dist" a tsconfig.jsonbaseDir dentro bs-config.json a "baseDir": ["dist", "src"] Luego npm run start funciona como antes (incluso html/css y otros archivos sin ninguna copia), pero los archivos .js y .map compilados están integrados en dist/app y no contaminarán su directorio src/app .
Tenga en cuenta que aún no he probado cómo esto afecta las pruebas.
También puedo llegar tarde, pero hice esto.
Primero haz lo que dijo Raheel Shan .
Luego crea la carpeta dist .
Después de crear la carpeta, vaya al archivo tsconfig.json y agregue esto:
"outDir": "dist" El tsconfig.json resultante
{ "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false, "outDir": "dist" }, "exclude": [ "node_modules", "typings/main", "typings/main.d.ts" ] } Si ahora ejecuta npm start y guarda un archivo, debería ver todos los .js y .map.js compilados en la carpeta dist .