2017-03-04 19 views
2

TypeScriptプロジェクトがあり、データ(.ts)ファイル(タイトルなど)があり、サーバー側とクライアント側の両方が必要です。TypeScript Webアプリケーションでクライアントとサーバー側のコードを共有する

私のディレクトリ構造は次のようになります。。

node_modules/ 
package.json 
README.md 
src/ 
    data.ts 
    data.js (compiled data.ts) 
    server.ts 
    server.js (compiled server.ts) 
    public/ 
     sw.ts 
     sw.js (compiled sw.ts) 
     [other static resources (.css, .html or other .ts)] 

のsrc/* tsのファイルは、SRC /公共/ * tsのファイルは、クライアント側は、サーバー側です。

server.tsとsw.tsの両方からdata.tsをインポートしますが、requireは明らかにsw.jsでは動作しません。

どうすればこの問題を解決できますか? また、どんなディレクトリ構造が良いでしょうか?

+0

モジュールローダーを試しましたか? – Saravana

+0

主な問題は、クライアント側からサーバーサイドファイルを要求できないことです.Cloudifyのようなものがベストでしょうが、TypeScriptプロジェクトへの実装に関するリソースは見つかりませんでした。 – Tomato

+0

tsifyはオプションですが、同じプロジェクトでtsifyとtscをどのように使うことができるのか分かりませんでした。 – Tomato

答えて

1

私は

src/ 
    common/ 
     data.ts 
    server/ 
     server.ts 
    client/ 
     sw.ts 

を次のように整理し、outDir:../publicに全体をコンパイルします。 module: commonjsも使用してください。

CommonJSは、ノード(サーバー)とwebpack(クライアント)でそのまま使用できます。

+0

申し訳ありませんが、他のリソースがあるとは言いません。どうすればそれらを/ publicディレクトリに置くことができますか?そして、どのようにwebpackをより多くの.tsファイルに使用できますか? – Tomato

関連する問題