2017-04-20 11 views
0

私は2つの部分からなるSPAを作成しています。公開されているリンク先ページは、プロジェクトについての説明やログインフォームの表示に使用されます。アプリケーションの他の部分はパブリックではなく、登録されたユーザーだけがアクセスできます。Angular 2 ComponentにJavascriptファイル(jQuery、Bootstrapなど)を組み込みます。

サイトの各部分(ホーム&ダッシュボード)には、それぞれ異なるコンポーネントがあります。私が直面している問題は、これらのコンポーネントには既にバンドルされている別のJavascriptファイル(home.js & dashboard.js)があることです。私はインターネットでさまざまなソリューションを見つけましたが、時間通りに見ていません。

環境に関するいくつかの詳細は、Angular CLIによってアプリケーションが足場になっているため、webpackが含まれているため、作業が簡単になります。

Angular 2 Good Practicesに適合する適切な方法があるかどうかを知りたいと思います。

ご協力いただければ幸いです。

+0

これは明らかな疑問のように思えるかもしれませんが、どのコンポーネントにどのjavascriptファイルが使用されているかを区別する必要がありますか?すべてのjをまとめてバンドルすることはできません(最初のバンドルサイズを減らしたい場合は、遅延読み込みを参照してください)。 – snorkpete

答えて

1

- 内側の角度 - cli.jsonには、appsというセクションがあります。スクリプトのセクションがあることを内には、角度のCLIはそれがscripts.bundle.jsにファイルをJSバンドルされますが、あなたのjsファイルをインポートし、インデックス内でそれらをインポートすることができます別の方法-in

"apps": [ 
{ 
    "scripts": ["../node_modules/jquery/dist/jquery.min.js", 
    "../node_modules/hammerjs/hammer.js", 
    "path_to_your_file/dashboard.js", 
    "path_to_your_file/home.js"] 
} 

をindex.htmlをするためにそれを置くことができます.htmlは古典的な方法で。

私はapp.module.tsの中に 'hammerjs'をインポートしましたが、それはnpm経由でインストールされたモジュールなので、うまくいくと思います。

import { MaterialModule } from '@angular/material'; 
import 'hammerjs'; 

このようにしてください。 hammerjについては何もありません。 jsファイルをモジュールに変換し、hammerjsのようにインストールすることができます。

+0

ありがとう、私はスクリプトセクション内のファイルを含めました。 – Vistiyos

+0

問題ありません^ _ ^ – 0m3rF

関連する問題