2016-12-08 14 views
3

私はConverse.jsを使用しています。これはRequireJS/AMDの構文にあらかじめ組み込まれています。 CDNのファイルを含めると、require(['converse'], function (converse) { /* .. */ })のように使用できます。これをwebpackでどのように使用することが可能ですか? converse.jsをwebpackの出力にバンドルしたいと思います。import requirejs webpackを使用したamdモジュール

私は、ディスク上のファイルを持っている、と

import converse from './converse.js'; 
converse.initialize({ .. }); 

それがスローとして、それはまだ使用可能ではありませんが、WebPACKのは、それが、正しくファイルおよびバンドルをピックアップ「の関数ではありません初期化」のようにそれをインポートしたいです。私は何が欠けていますか?

+1

'console.log(converse)'を実行してみてください。何が印刷されますか? – Frxstrem

+0

なぜnpmバージョンを使用しないのですか? https://www.npmjs.com/package/converse.js –

+0

@AndyRayこれはnpm上のモジュールではないため、構築されて公開されているためです。 npmは基本的にアプリを「ホスティング」しています。私はなぜそれがnpmで正直であるのか分からない。 – bitten

答えて

3

Webpackが限定されたコンテキストでモジュールを評価する方法で、バンドルの構築方法が正しく動作しないと思われます。

their buildsから、NPMを介してNPM経由でビルドされたAMDモジュールをWebpackで解析することができます。dependenciesを提供して、最終出力に重複を避けることができます。

script-loaderを使用すると、グローバルコンテキストでスクリプトが評価され、使用ガイドラインに従ってCDNから参照する場合と同じエクスペリエンスが得られます。忘れずにあなたのリンターのためのグローバルを設定する。

+0

ありがとうdood。私はどのように乗っているかを教えてあげます。 – bitten

+0

私はスクリプトローダー 'スクリプトコンテナからのimport converse!/ node_modules/converse.js/dist/converse.js 'を使用しています。その後require([' converse ']、あなたはwebpackの構文解析からWebpackを停止する方法を知っていますか? – bitten

+0

私はwebpackの設定で、 'module.exports = conversse;'を含む 'build.js'ファイルを私に与えますが、' external ':{' converse ':' converse '} ' – bitten

関連する問題