node.js - Hvordan målrette ES6 for server og ES5 for klient


Jeg lager et prosjekt med Node på serveren og Angular 2 på klienten. Jeg ønsker å bruke Typescript i hele prosjektet. Jeg vil gjerne målrette mot ES6 for serveren, siden Node støtter det, men ES5 for klienten. Akkurat nå ser katalogstrukturen min slik ut.

├── app.js
├── something.js
├── tsconfig.json
├── wwwroot
│   ├── index.html
│   ├── main.ts
│   ├── components
│   │   ├── mycomponent.ts

Jeg vil at alt over wwwroot skal målrette ES6, men alt inne i wwwroot skal målrette ES5. Jeg prøvde å legge en andre tsconfig.json inne i wwwroot-mappen, men det så ikke ut til å fungere. Jeg bruker Atoms autokomplileringsfunksjon, hvis det er relevant.

Svar #1

Du kan bruke Babel for å transpile ES6 JavaScript til hvilken som helst variant av ECMAScript du ønsker.

http://babeljs.io/

Svar #2

Jeg har en lignende situasjon, og det jeg gjør er:

- project-root
  - scripts
    - tsconfig.json
  - wwwroot
    - scripts
      - tsconfig.json
    - html
      - index.html
    - styles
      - index.css

scripts/tsconfig.json retter seg mot es6 for serveren, og wwwroot/scripts/tsconfig.json retter seg mot es5 for klienten.

Relaterte artikler