問題タブ [rollupjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - CLI によるロールアップ: 外部依存として扱う
rollupjsを使用して、すべてを1つのファイルにバンドルしようとしています。
main.js
ファイル:
example-export.js
ファイル:
以下のコマンドとその応答:
作成されたbundle.js
ファイル:
example-export
モジュールがbundle.js
ファイルに含まれることを期待していました。これは本当に新しいものなので、インターネットにはこれの適切な例がありません.
--name
この問題は引数https://github.com/rollup/rollup/wiki/Command-Line-Interface#usageと関係があると思います。しかし、それがどのように使用されることになっているのかわかりません。複数のエクスポートとインポートがある場合、どのように見えるでしょうか?
angular - バンドル後にAngular2 RC6 Inject LOCALE_IDが失敗する
この優れたブログ投稿に大まかに基づいて、RC6 に更新されたばかりの Angular2 アプリをバンドルしようとしています。
組み込みの DatePipe のみをラップする Pipe がありますが、null 引数を受け入れ、それを受け取った場合に何かを行うという違いがあります。RC6 では、これを更新して_locale
引数を DatePipe に渡す必要がありました。ここにパイプがあります:
この依存性注入の方法は、組み込みの DatePipe で使用される方法と同じです (私が知る限り)。
開発用にコンパイルして systemjs をロードすると、これは正常に機能します。ただし、ロールアップでバンドルした後、コンストラクターに渡すときです_locale
。null
バンドル内のインスタンス化は次のようになります。
役立つ場合は、ロールアップ構成と tsconfigs を提供できますが、質問に多くのバルクが追加されるため、今のところ保留します。現在のバンドル プロセスは次のとおりです。
アプリの残りの部分はうまく機能しています!今のところ、'en-US'
DatePipe に直接渡すことで問題を回避していますが、なぜ機能しないのか気になり、適切に処理したいと考えています。
javascript - Angular2+rollupjs: "node_modules\rxjs-es\util\root.js: 'import' と 'export' は最上位にのみ表示される場合があります"
ここで提供されているアドバイスに従って、 Rollupjsを使用して Angular2 アプリをビルドするのに問題があります。
「npm run rollup」を実行すると、rollupjs が上記のエラーをスローします。私のセットアップは次のとおりです。
rollup.config.js
パッケージ.json:
プロジェクト全体 (そのようなもの) はこちら: https://github.com/evelbulgroz/public-transit-app-rc5 2
これはちょっと新しいので、明らかな何かが欠けているかどうかわかりませんか?そしてかなり立ち往生しているので、どんな助けも大歓迎です。
javascript - rollup.jsでバンドルすると「OuterSubscriberが定義されていません」
Angular2 RC7 に更新した後、ブラウザで実行すると次の JavaScript エラーが発生します。
OuterSubscriber が定義されていません
これは、を使用してバンドルを作成した場合にのみ発生しrollup.js
ます。JavaScript がバンドルされていない状態でアプリケーションを実行すると、正常に動作します。
エラーはその一部であるため、何らかの形で関連しrxjs
ている必要がありOuterSubscriber
ます。バンドルを確認しましたが、見つかりませんでしOuterSubscriber
た。私はrollup.js
それが必要ではないと思うので、それを含めません。
環境:
angular, v2.0.0-rc.7
rxjs, v5.0.0-beta.12
systemjs, v0.19.27
gulp-rollup, v2.4.0
rollup-stream, v1.13.0
構成では、モジュール (例: ) をsystem.js
にマップします。この例のように、古典的なマッピングを使用します。umd
core.umd.js
angular
rxjs
ここで私が間違っていることを誰かが知っていますか?
angular - Rollup for Angular 2 の AoT コンパイラを使用し、Moment.js をインポートする
Angular 2 の公式 AoT ガイドに従おうとしていますが、アプリケーションで Moment.js を使用しています。Moment.js はpackages.jsonファイルにあり、バージョン 2.15.0 を使用しています。これまで、次のようにインポートしてきました。
しかし、ロールアップを実行する必要がある部分に到達すると、次のエラーが発生します。
名前空間を呼び出せません ('moment')
thisによると、私が瞬間をインポートする方法に関連しているようです。それで、私はこれをどのように行うべきですか?他の方法で瞬間をインポートできないようです。私が使用する場合
コンパイルエラーが発生します
外部モジュール ''moment'' にはデフォルトのエクスポートがありません
javascript - ES2015モジュール関数を選択的にインポートする方法はありますが、名前空間はありますか?
ロールアップと ES2015 モジュールで記述された D3 バージョン 4 を使い始めています。従来の D3 名前空間「d3」を使用していくつかのコードを作成しました。ここで、ロールアップを使用してカスタム バンドルを作成したいと考えています。おそらくd3の関数の約半分しか使用していないため、ツリーシェイキングを使用したいと考えており、できるだけ軽量に保ちたいと考えています。
関数を選択的にインポートできることは明らかです。たとえば、次のようになります。
d3 の半分は多くの関数であるため、非常に冗長になります。私はそれで暮らすことができます。より大きな問題は、名前空間なしですべての関数識別子を完全に書き直す必要があることです。私は名前空間ライブラリ コードの方が好きなので、あまり気にしません。
すべてのモジュールをインポートできることを理解しています:
これにより、d3 オブジェクトの名前空間が保持されます。これは、私のコード編成に適しています。しかし、Rollup は未使用の関数をバンドルからツリーシェイクすることはできません。
私が夢見ているのは次のようなものです:
しかし、そのような機能/構文は仕様に存在しないようです。モジュールの個々の部分を選択的にターゲットにし、インポート中に名前空間を保持するにはどうすればよいですか?
javascript - react-dom と rollupjs: オブジェクトの読み取り専用プロパティ 'history' に割り当てることはできません
ロールアップを使用して React アプリをバンドルしようとしていますが、現在次のエラーが発生しています。
キャッチされていない TypeError: オブジェクト '[オブジェクト ウィンドウ]' (無名関数) @ bundle.js:6115 の読み取り専用プロパティ 'history' に割り当てることはできません
この場所にあります。
私のロールアップ構成:
私は何が欠けていますか?