問題タブ [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 - カルマ プリプロセッサのウォッチ リストにファイルを追加する
この問題を示すために作成されたリポジトリは次のとおりです。
brianmhunt/karma-rollup-preprocessor-issue-3
Karma-rollup -preprocessor を Karma の組み込みウォッチで動作させようとしています。つまり、showpad/karma-rollup-preprocessor#3 を解決します。
つまり、プリプロセッサで、Karma のウォッチ リストにファイルを追加したいと考えています。
Rollup がコンパイルに使用するファイルのリストを取得するのは簡単です。ロールアップは、読み取ったファイル (監視したいファイル) のリストを返すため、プリプロセッサでカルマが監視するリストにファイルを追加しようとしています。
基本的に、これ(または同等の機能)をプリプロセッサに追加したい:
files
Karma の場所config.files
、またはfileList
監視対象のファイルを配置するために必要な場所はどこですか。
で上記を実行するconfig.files
と、ファイルは確かにウォッチャーに追加されてい.on(fileList.changeFile)
ますが、_isIncluded
.
そのため、ファイルも (または代わりに) に追加する必要があるようfileList
です。
残念ながら、 を に追加しようとするとfileList
、$inject
エラーが発生します。
エラー: 循環依存を解決できません! (解決: preprocess -> preprocessor:rollup -> fileList -> preprocess)。
インクルードを追加できるように見える他のすべてのプリプロセッサを基本的に調べましたが、それを行う方法の兆候は見つかりませんでした。
Karma がプリプロセッサから監視する必要があるファイルを追加する正規の方法はありますか? または、そうでなければ、どのようにこれを行うことができますか? これは、Karma のプリプロセッサにとっては非常に便利なように思われるため、他のプリプロセッサでは文書化されておらず、明白でもなく、問題もないことは驚くべきことです。
編集 ここにいくつかの試みがあります:
config.files
監視パターンをin karma.conf
ieに追加しようとしました
ただし、src/*
変更しても再コンパイルされません。テストが再実行されます。
だから私はこのようにchokidarを試しました:
カルマが更新時に遅くなった場合に備えて、デバウンスでも試しましたが、テストが再実行されないようです.
私はインスピレーションを得るために karma-browserify に根ざしましたが、掘り下げずに理解するには少し複雑すぎました.
javascript - uglifyを使用してjavascriptバンドルファイルを美しく保つ
私はrollup-plugin-uglify
ロールアップを使用しており、JS バンドルの開発バージョンと実稼働バージョンを取得しており、開発モードが必要です。uglify を使用しているにもかかわらず、ファイルを美しく保つ
次のように指定しようとしました(開発ビルド時):
私はrollup-plugin-uglify
ロールアップを使用しています。js バンドルの開発バージョンと実稼働バージョンを取得しました。uglify を使用しているにもかかわらず、開発モードでファイルを美しく保ちたい
しかし、残念ながら、ファイル出力はまだ醜いです。
何か案が?
javascript - ロールアップで何かをインポートする方法
riot-mixin-pack
コードの先頭にある次の行を使用して、ロールアップを正常に使用しています。
ロールアップすると、domEvent
とparentScope
オブジェクトがファイルの先頭に含まれます。
サポートされている 1 つまたは 2 つの言語を使用して Highlight.js をインポートし、ロールアップされたファイルを入力したいと考えていますimport
が、必要な行がわかりません。
これを行う方法はありますか?
angular - Angular2 RC4 ビルドでツリー シェーキング ランタイム エラーが発生する
この投稿に従って、ツリーシェイクでテストアプリを構築しようとしました。 http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/
ビルド スクリプトは正常に実行されますが、bundle.js を使用するとランタイム エラーが発生します。
Observable$1.from は dist\bundle.es2015.js から来ました
この機能の元になったのは
ロールアップを使用して dist\bundle.es2015.js を生成すると
browserify-js を使用してツリー シェーキングを行わずにアプリをビルドすると、この関数は Observable_1.from() として表示され、アプリはエラーなしで動作します。
Angular2 zone.js は Observable$1 にアレルギーがあるのではないかと考えたので、bundle.es2015.js ですべての Observable$1 を手動で Observable_1 に変更してから実行します
それから私はこれを手に入れました
これがロールアップのバグによるものなのか、それとも私が何かを見逃したのか、誰か教えてもらえますか?
ここにビルドスクリプトがあります
rollup.config.js と tsconfig.json は、上記のリンクと同じです。
javascript - 名前のない関数をモジュールとしてエクスポートする CommonJS モジュールでロールアップしますか?
inner.js
関数を定義し、その関数をモジュール全体としてエクスポートする、という名前の CommonJS モジュールがあります。
Node では、これがそのまま機能することを簡単に確認できます。
しかし、これは ES6 モジュールから使用したいレガシー モジュールであり、次のように呼ばれouter.js
ます。
これらの状況で一般的に使用されていることがわかりますがrollup-plugin-commonjs
、CommonJSinner.js
モジュールが関数をモジュール全体としてエクスポートする場合は機能しません。ロールアップを実行して結果を にダンプした後loadme.js
、ES6 外部モジュールのロードを実行し、内部 CommonJS モジュールで最初に定義された関数を呼び出そうとすると、エラーが発生します。
モジュール自体が関数として機能するように、CommonJS モジュールを正しくロードできていないと思います。ロールアップ出力を検査することから意味のあることを得るには、UMD に十分に精通していません。
この投稿の残りの部分は、最小限の例についてです。
ここに私の非常に単純なものがありindex.js
ます:
これは私のロールアップ構成によって読み取られます:
問題を示す完全な複製可能なリポジトリがあります。