2017-12-18 7 views
0

私はAngular4で作業していますが、アプリケーションの構築にWebpackセットアップを使用しています。私は自分のプロジェクトでjQueryを使いたいので、私はgoogledして、Webpackがモジュールをグローバルにロードするために提供するProviderPluginについて見つけました。jQueryがProvidePluginでロードされたWebpack 2でルート変更後に動作しない

しかし、私が直面している問題は少し奇妙です。ページが読み込まれて初めてうまく動作し、jQueryに関連付けられているすべてのコードが正常に動作しますが、ページやルートを変更すると、jQueryの機能が失われ、必然的にページが正常に動作しません。私は何か、私はプラグインのために使用されるコードをしないのですが

new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })

規格であり、それは大きな助けになります言及してください行うには、他の方法がある場合、私は、同様に他の解決策を探しています。

ありがとうございました。

答えて

0

また、HTMLページを作成するHtmlWebpackPluginを使用することもできます。注射を設定する:真。おそらく、別のページにアクセスしようとしたときに、jqueryが宣言されていないので、jqueryを持つメインテンプレートページが必要で、このテンプレートから次のhtmlページを作成する必要があります。例:

new HtmlWebpackPlugin({ 
    filename: 'index.html', 
    template: 'index.html', 
    inject: true 
}) 

したがって、npmでパッケージをダウンロードし、設定してからインストールしてください。

また、あなたはこれであなたのjqueryの挿入を編集することができます:それは動作しませんでしたが、再び

new webpack.ProvidePlugin({ 
    $: 'jquery', 
    jquery: 'jquery', 
    'window.jQuery': 'jquery', 
    jQuery: 'jquery' 
}) 
+0

こんにちは、答えのためのおかげで、私はあなたの提案どおりでした。 ' –

+0

HhmmmがNPMによってあなたdonwloadのjqueryのをした私は、この '新しいHtmlWebpackPlugin({ './src/index.html'、 ファイル名: 'index.htmlを'、 注入真 テンプレート})のような何かをしました?ヒント:htmlWebpackPluginは、htmlページをより速く作成するプラグインであるだけで、jquery作品には必要ありません。あなたはより多くの情報にあなたのドキュメントを読むことができます。 –

+0

はい、NPM経由でjQueryをダウンロードしました。 –

関連する問題