問題タブ [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.
javascript - ES6 モジュールを使用するように Karma + Jasmine をセットアップする方法
私はこれに少し立ち往生しています。静的な Web サイトを構築するために、仲介者、カルマ、ジャスミン、babeljs で構成される複雑なスタックがあります。
これは実験であることを考慮して、ES6 をモジュールで使用したいと考えました。仲買人側ではすべて問題ありませんが、カルマとジャスミンをテスト用にセットアップするのに苦労しています.
主な問題はバベル内にあります。バベルを使用するように設定すると、スペック内のすべてのモジュールをmodules: "ignore"
手動で使用する必要があり、これは私が望んでいないことです。ES6 構文を使用したいのですが、 を設定すると、babeljs はすべてのテストを次のように にラップします。System.import
modules: "system"
System.register
したがって、テストは自動的に実行されません。次に、それを回避するために次のスクリプトを作成しました (これは、すべての仕様が含まれた後に含まれます)。
このコードは単純です。SystemJS のマップ構成を準備し、アプリ ( http://localhost:4567にあります)からモジュールを正しくロードし、System.register ( http://localhost:9876にあります)にラップされたテストをロードできます。 .
ただし、私のテストは実行されておらず、エラーは報告されていません。さらに悪いことに、 「I'm here!!!」というメッセージが正しくログに記録されます。Mymoduleはコンソールに正しくログインしています。describeの値をログに記録しようとしましたが、これは正しくSuiteオブジェクトです。では、一体なぜ私のテストが実行されないのでしょうか? (it
ブロックは実行されません)
どのような解決策がありますか? セットアップを少し変更して動作させることは問題ありませんが、次のことを維持したいと思います: Middleman、ES6 モジュール、動的モジュールの読み込みなし(すべてのモジュールは最終的に単一のファイルで公開されるか、必須です)たくさんの<script>
タグ付き)、ジャスミン
javascript - Angular2 + System.js - すべてのファイルをローカルにロードする
私は Angular2 アプリを作成しています。メインの HTML は次のとおりです。
私の目標は、すべてのファイルをローカルにロードすることです。そのため、これら3つのファイルをlibフォルダーに配置すると、ネットワークインスペクターで「es6-modules-loader @ 0.16.6.js」をそこからロードできないことがわかったので、そのファイルをインターネットからダウンロードして配置しました「lib」フォルダにあります。その後、すべて正常に機能しました:)
しかし:
今日、ネットワーク接続がしばらく停止し、プロジェクトを実行できませんでした。実際には、ネットからさらに 2 つのファイルをロードしたためです。
system.js の最後に定義されているのがわかります。
私の質問は次のとおりです。どうすればすべてをローカルファイルシステムからロードできますか?
javascript - コールバック内でテストを実行する
コールバック内にあるテストを実行することは可能ですか? たとえば、私は
このテストは実行されません。単純なものでも同じですsetTimeout
これを行う方法はありますか?それ以外の場合、モジュールを非同期で含む多くの問題があります
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 をサポートしています。この問題を抱えている他の人を見つけることができなかったので、誰かがその問題を解決するのを手伝ってくれることを願っています。
前もって感謝します!
javascript - Node TLS モジュールがブラウザでサポートされていない
npm でいくつかのノード モジュールをロードするために、jspm と SystemJS を使用しました。そのうちの 1 つ ( docker-api-wrapper ) は、その内部でrequestモジュールを使用していました。そのため、ブラウザで実行しようとすると、常に次のような例外がスローされました
誰かがそれについて私を助けることができますか? どうもありがとうございました。
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 を作成することはできますか?
乾杯
javascript - なぜ間違った注文実行system.js?
system.js が最初に実行__extends
してから初期化するのはなぜですか?
__extends
最初に呼び出されてエラーがスローされるため、初期化はまったく見られませんが。修正方法は?
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?