問題タブ [systemjs]

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.

0 投票する
1 に答える
699 参照

javascript - ES6 モジュールを使用するように Karma + Jasmine をセットアップする方法

私はこれに少し立ち往生しています。静的な Web サイトを構築するために、仲介者、カルマ、ジャスミン、babeljs で構成される複雑なスタックがあります。

これは実験であることを考慮して、ES6 をモジュールで使用したいと考えました。仲買人側ではすべて問題ありませんが、カルマとジャスミンをテスト用にセットアップするのに苦労しています.

主な問題はバベル内にあります。バベルを使用するように設定すると、スペック内のすべてのモジュールをmodules: "ignore"手動で使用する必要があり、これは私が望んでいないことです。ES6 構文を使用したいのですが、 を設定すると、babeljs はすべてのテストを次のように にラップします。System.importmodules: "system"System.register

したがって、テストは自動的に実行されません。次に、それを回避するために次のスクリプトを作成しました (これは、すべての仕様が含まれた後に含まれます)。

このコードは単純です。SystemJS のマップ構成を準備し、アプリ ( http://localhost:4567にあります)からモジュールを正しくロードし、System.register ( http://localhost:9876にあります)にラップされたテストをロードできます。 .

ただし、私のテストは実行されておらず、エラーは報告されていません。さらに悪いことに、 「I'm here!!!」というメッセージが正しくログに記録されます。Mymoduleはコンソールに正しくログインしています。describeの値をログに記録しようとしましたが、これは正しくSuiteオブジェクトです。では、一体なぜ私のテストが実行されないのでしょうか? (itブロックは実行されません)

どのような解決策がありますか? セットアップを少し変更して動作させることは問題ありませんが、次のことを維持したいと思います: Middleman、ES6 モジュール、動的モジュールの読み込みなし(すべてのモジュールは最終的に単一のファイルで公開されるか、必須です)たくさんの<script>タグ付き)、ジャスミン

0 投票する
1 に答える
1274 参照

javascript - Angular2 + System.js - すべてのファイルをローカルにロードする

私は Angular2 アプリを作成しています。メインの HTML は次のとおりです。

私の目標は、すべてのファイルをローカルにロードすることです。そのため、これら3つのファイルをlibフォルダーに配置すると、ネットワークインスペクターで「es6-modules-loader @ 0.16.6.js」をそこからロードできないことがわかったので、そのファイルをインターネットからダウンロードして配置しました「lib」フォルダにあります。その後、すべて正常に機能しました:)

しかし:

今日、ネットワーク接続がしばらく停止し、プロジェクトを実行できませんでした。実際には、ネットからさらに 2 つのファイルをロードしたためです。

system.js の最後に定義されているのがわかります。

私の質問は次のとおりです。どうすればすべてをローカルファイルシステムからロードできますか?

0 投票する
2 に答える
132 参照

javascript - コールバック内でテストを実行する

コールバック内にあるテストを実行することは可能ですか? たとえば、私は

このテストは実行されません。単純なものでも同じですsetTimeout

これを行う方法はありますか?それ以外の場合、モジュールを非同期で含む多くの問題があります

0 投票する
0 に答える
1209 参照

javascript - System.js と Babel が IE 8 で動作しない

ES 6 を Babel トランスパイラーと組み合わせて使用​​し、モジュール ローダーとして System.js を使用して Web プロジェクトを開発しています。IE 9 以降のすべてのブラウザで問題なく動作しますが、残念ながら IE 8 をサポートする必要があります。

バンドルされていないファイルでは、IE 8 は main.js ファイルをロードすることさえできません。コード行を示すことなく、次のコンソール メッセージで失敗します。

依存関係マネージャーとして jspm を使用しています。でビルドされたバンドルされた sfx ファイルでjspm bundle-sfxは、別のエラーが発生します。

ここでは、少なくとも 1 つの行が指定されており、system.js コアの次の関数を指しています。

indexOf は、ファイルの前の方で定義されているため、コンソールにログを記録するときに実際には未定義です。

私があなたに提供できる唯一の関連する追加情報は私のものpackage.jsonです:

公式には、system.js と babel の両方が IE 8 をサポートしています。この問題を抱えている他の人を見つけることができなかったので、誰かがその問題を解決するのを手伝ってくれることを願っています。
前もって感謝します!

0 投票する
1 に答える
571 参照

javascript - Node TLS モジュールがブラウザでサポートされていない

npm でいくつかのノード モジュールをロードするために、jspm と SystemJS を使用しました。そのうちの 1 つ ( docker-api-wrapper ) は、その内部でrequestモジュールを使用していました。そのため、ブラウザで実行しようとすると、常に次のような例外がスローされました

誰かがそれについて私を助けることができますか? どうもありがとうございました。

0 投票する
1 に答える
495 参照

javascript - 静的 jspm リソースを運用 index.html にロードしますか?

おそらく私は何かが欠けていますが、ここに私の問題があります: gulp dist「プロダクションモード」に移行するために実行した後、すべてのjavascriptファイルは正常にバンドルされていますが、index.html にはまだjspm_packagesフォルダーへの参照と、次のようにいくつかの JavaScript ファイルへの参照があります。

gulp distこれらの参照はすべて、タスクで作成された dist フォルダーには存在しなくなりました。

以下は、GitHub の React+JSPM プロジェクトの 1 つからの使用例です: https://github.com/tinkertrain/jspm-react

この動作は、私が遭遇した多くのプロジェクトに共通しているため、おそらく何かが欠けています...調整を行うために何かを構成する必要がありますか? 別のタスクを呼び出して、独自の「本番モード」html を作成することはできますか?

乾杯

0 投票する
0 に答える
98 参照

javascript - なぜ間違った注文実行system.js?

system.js が最初に実行__extendsしてから初期化するのはなぜですか?

__extends最初に呼び出されてエラーがスローされるため、初期化はまったく見られませんが。修正方法は?

0 投票する
2 に答える
2649 参照

import - Wait for import before parsing next import's dependencies

I am converting some code to ES6 syntax using JSPM/SystemJS/BabelJS.

I have the following:

This code outputs baz foo bar application: {}.

I would like to output: foo bar baz application: {} such that Cocktail.patch is ran before any code in application.js

I am able to achieve this by re-writing my code as:

However, this feels convoluted and incorrect. It's leveraging SystemJS explicitly rather than ES6 import/export syntax. How can I wait before parsing application.js using ES6 syntax?