私は(プロジェクトのルートから)のようないくつかのファイルとAngular.jsプロジェクトワット/ Node.jsのためのフォルダ構造を持っている:FrontendとBackendの間でTypeScript/JavaScriptを共有するには?
私はこれをコンパイルするために、他の多くのgulp
のプラグインと一緒に活字体のコンパイラを使用
frontend
frontend-file1.ts
frontend-file2.ts
backend
backend-file1.ts
backend-file2.ts
そのようなbuild
フォルダに(frontend
ファイルはpublic
に置か取得する方法に注意):ソースフォルダで
build
backend-file1.js
backend-file2.js
public
frontend-file1.js
frontend-file2.js
を、私はファイルをインポートするimport
文ES6 /活字体を使用しています。
例:バックエンドfile1.ts
import './backend-file2';
私はバックエンドとフロントエンドの両方で使用されなければならないいくつかのカスタムユーティリティ関数を書いている状況
。両方のフォルダで同じ機能を繰り返すことは望ましくありません。これは、エラーが発生しやすくなり、二重の作業になります。
私はfrontend
とbackend
フォルダamongsプロジェクトのルートにshared
フォルダを作成すると考えられてきましたが、私はfrontend
フォルダ内にあるファイルindex.html
、より一層上がるブラウザでファイルをインポートすることはできません。
質問私は両方frontend
とbackend
フォルダにこのファイルを一度typescriptファイルを書き込み、import
にできるようにすることができるだろうどのように
?
回答ありがとう@lxe。しかし、問題は依然として、 ''インデックスから残っています。html'ファイルを '' client''に入れても、 '' client''フォルダである "rootを越えて"ファイルをインポートすることはできません。私は '' shared''からスクリプトにアクセスすることはできません。私は ''共有 ''フォルダをビルドのフロントエンドとバックエンドの両方のフォルダにコンパイルすることを検討できますか?どう思いますか? – Nicky
@Nickyは、あなたのクライアント側のスクリプトを '--out bundle.js'を介して一つのファイルにコンパイルすると仮定しています。これにより、ソースのインポートの場所は無関係になります。 – lxe
私は見て、私はこれを行うが、生産の中でのみ行う。開発のためには、コンパイルされたすべてのファイルがビルドフォルダにあります。そのような状況に対する提案はありますか? – Nicky