angularjs - ¿Cómo transpilar automáticamente TypeScript a JavaScript?
Estoy aprendiendo AngularJS2 leyendo un libro de 2015 ng-book2 pero el paquete de Node que utiliza tsc para transpilar TypeScript a JavaScript sobre la marcha está descontinuado y obsoleto:
npm WARN deprecated [email : TSD está obsoleto en favor de Typings (https://github.com/typings/typings) - consulte https://github.com/DefinitelyTyped/tsd/issues/269 para más información
. Tengo otros métodos en diferentes tutoriales, pero me pregunto si existe algún consenso sobre la mejor manera de transpilar en la máquina de desarrollo?
Aquí está el package.json que uso:
{
"name": "ng-book2-reddit",
"version": "1.0.0",
"private": true,
"scripts": {
"clean": "rm -f ./*.js; rm -f ./*.js.map; rm -f ./intermediates/*.js; rm -f ./intermediates/*.js.map",
"tsc": "./node_modules/.bin/tsc",
"tsc:w": "./node_modules/.bin/tsc -w",
"serve": "./node_modules/.bin/live-server --host=localhost --port=8080 .",
"go": "concurrent \"npm run tsc:w\" \"npm run serve\" "
},
"license": "ISC",
"dependencies": {
"@angular/common": "2.0.0-rc.1",
"@angular/compiler": "2.0.0-rc.1",
"@angular/core": "2.0.0-rc.1",
"@angular/http": "2.0.0-rc.1",
"@angular/platform-browser": "2.0.0-rc.1",
"@angular/platform-browser-dynamic": "2.0.0-rc.1",
"@angular/router": "2.0.0-rc.1",
"core-js": "2.2.2",
"es6-shim": "^0.35.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"systemjs": "^0.19.6",
"ts-helpers": "1.1.1",
"tslint": "3.7.0-dev.2",
"typescript": "1.9.0-dev.20160409",
"typings": "^0.8.1",
"zone.js": "0.6.12"
},
"devDependencies": {
"concurrently": "1.0.0",
"live-server": "0.9.0",
"typescript": "1.7.3"
}
}
Respuesta #1
Actualización: tsd está obsoleto, no tsc.
tsd se utiliza para instalar definiciones de tipos de TypeScript y ha sido reemplazado por typings.
tsc es el compilador de TypeScript.
Instala la utilidad de línea de comandos typings globalmente con:
npm install typings --globalVea aquí para más instrucciones sobre el uso de tipados.
Un ejemplo de instalación de las definiciones de tipos de TypeScript de Mocha:
typings install dt~mocha --global --savePuedes simplemente tener esto en tu packages.json bajo scripts:
"tsc": "tsc",
Deberías crear un tsconfig.json, mira aquí un ejemplo.
Luego ejecuta en tu terminal:
npm run tscTambién tienes paquetes de typescript en dependencies y devDependencies, solo los necesitas en devDependencies.
Respuesta #2
En este caso use
npm run tsc:w
En tu package.json
"tsc:w": "./node_modules/.bin/tsc -w",
