angularjs - როგორ დავაიძულოთ TypeScript ავტომატურად გადაიყვანოს JavaScript-ში?


მე ვსწავლობ angularjs2-ს 2015 წლის წიგნის ng-book2 წაკითხვით, მაგრამ node პაკეტი, რომელსაც ის იყენებს tsc typescript-ის JavaScript-ში გადაყვანისთვის რეალურ დროში, შეწყვეტილია და პოტენციურად მოძველებულია:

npm შპრ.Warn არასაკმარისი [email : TSD შეწყვეტილია Typings-ის სასარგებლოდ (https://github.com/typings/typings) - მეტი ინფორმაციისთვის იხილეთ https://github.com/DefinitelyTyped/tsd/issues/269

. მე მაქვს სხვა მეთოდები სხვადასხვა ტუტორიალებზე, მაგრამ მაინტერესებს, არის თუ არა რაიმე კონსენსუსი, თუ როგორაა ყველაზე კარგად ტრანსპილირება განვითარებითი მანქანაზე?

აქ არის package.json, რომელიც მე ვიყენებ:

{
  "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"
  }
}

პასუხი #1

განახლება: tsd შეწყვეტილია, tsc კი არა.

tsd გამოიყენება TypeScript ტიპების განსაზღვრების დასაყენებლად და ჩანაცვლებულია typings-ით.

tsc არის TypeScript კომპილატორი.

დაყენეთ typings ბრძანების ხაზის ხელსაწყო გლობალურად შემდეგი ბრძანებით:

npm install typings --global

იხილეთ აქ მეტი ინსტრუქცია ტაიპინგების გამოყენების შესახებ.

მოჩა ტიპის TypeScript-ის განმარტებების დაყენების მაგალითი:

typings install dt~mocha --global --save

შენ უბრალოდ შეგიძლია ამის გაწერა შენს packages.json-ში scripts-ის ქვეშ:

    "tsc": "tsc",

თქვენ უნდა შექმნათ tsconfig.json, ნახეთ აქ მაგალითი.

შემდეგ მიიღე შენი შელში:

npm run tsc

თქვენ ასევე გაქვთ typescript პაკეტები dependencies და devDependencies-ში, ეს საჭიროა მხოლოდ devDependencies-ში.

პასუხი #2

ამ შემთხვევაში გამოიყენეთ

npm run tsc:w

თქვენს package.json-ში

"tsc:w": "./node_modules/.bin/tsc -w",