2016-11-08 11 views
3

サーバー上にnodeを、クライアントにAngular 2というプロジェクトを作成しています。私はTypescriptをプロジェクト全体で使いたいと思う。私はノードがそれをサポートしているので、サーバーのためのES6をターゲットにしたいですが、クライアントのためのES5。現在、私のディレクトリ構造は次のようになります。サーバー用のES6とクライアント用のES5をターゲットにする方法

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

は私がwwwroot上記のすべてがES6をターゲットにしたい、しかし、すべてがwwwrootの内側ES5を対象とします。私はwwwrootフォルダの中に2番目のtsconfig.jsonを入れてみましたが、うまくいかなかったようです。 Atomのオートコンパイル機能を使用しています。

+0

がhttps://github.com/angular/angular-cliに見てみましょう私はあなたのために、あなたがすぐに開発を始めることができ、必要な場合には後で開発を始めることができるので、適切なものでなければなりません。しかし、私はES6のオプションがあるかどうか分からない –

答えて

3

あなたはあなたが望むecmascriptのどんな味にes6 javascriptを変えることができます。

http://babeljs.io/

+0

あなたはes6にすべてを移して、es5にクライアント側のコードを翻訳するためにbabelを使うべきだと言っていますか? – rgvassar

+0

基本的にはyesです。 Typescriptはes6にコンパイルされ、babelはそれをes5に渡します。少し奇妙ですが、あなたは非常に特定のシナリオを持っています – BentOnCoding

+0

これはこの時点で行く最善の方法です。 – rgvassar

1

私は似たような状況があり、私がやっていることは次のとおりです。

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

scripts/tsconfig.jsonターゲットサーバのes6、およびwwwroot/scripts/tsconfig.jsonターゲットクライアントのes5

+0

自動コンパイル機能はこれを試したときに下位の 'tsconfig.json'を無視してしまいました。両方をコンパイルするために実行できるtscコマンドが1つありますか? – rgvassar

+0

いいえ、それらを別々にコンパイルする必要がありますが、IDEが複数の 'tsconfig.json'ファイルをサポートしている場合は問題はありません。私の現在のプロジェクトでは、私は4つのものがあり、それは素晴らしい作品です。私はウェブストームで働いています –

0

Babelを使用すると、プリセット"babel-preset-es2015-node6"を使用して、まだ実装されていないnodejsをes5に渡すことができます。

あなたはあなたのノードpackage.jsonに、たとえば、スクリプトを使用して、ES5したいだけのディレクトリをtranspileことができます。

"prestart": "babel server-source --out-dir dist/source" 
関連する問題