問題タブ [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 - システム JS は 1 回の呼び出しで複数の依存関係をロードします
systemjsのドキュメントを見ると、複数の依存関係を同時にロードする例が見つかりません。私は次のようなAPIを期待しています...
プロミスを使用してすべての依存関係を並行してロードし、すべてが完了したらコールバックを実行することを期待しています。これは可能ですか?そうでない場合、この機能が実装されていない理由はありますか?
module - 同期構文を使用して実行時に commonJS、AMD、および ES6 モジュールをインポートする
私は最近、import {variable} from 'ES6module'
構文を使用して多くの ES6 を作成し、 traceur-compilerを使用してブラウザ内でコードをコンパイルしています。同じ構文を使用して AMD、commonJS、およびES6 モジュールをインポートできるように思えたので、 systemjsを調べ始めました。
ドキュメントを読むと、私は混乱し始めました。System.import('path/to/module').then(function(variable) { ... })
依存関係のインポートに慣れていないような非同期呼び出しがたくさんあります。
私はES6 モジュールの実用的なワークフロー を読みました。これはさまざまなワークフローをカバーしていますが、実行時に ES6 モジュールとAMD/commonjs モジュールをインポートする必要はありません。私はこのようなことを考えています:
そうでない場合は、少なくとも:
これらのいずれかがsystemjsで可能ですか?
ecmascript-6 - SystemJs プラグインを場所にインストールする
でテキスト ファイルをインポートしようとするとimport text from './some-text.txt!text';
、ローダーがサーバーのルートから text.js ファイルをフェッチしようとします。
この場所は別のものにすることはできますか? また、jspm などを使用してプラグインをインストールできますか?
javascript - Pythonのように、SystemJSはディレクトリから「ベーススクリプト」をインポートします
Python のようなSystemJSを使用して、モジュールのようなディレクトリから「ベース スクリプト」をインポートすることは可能__init__.py
ですか?
例:
ディレクトリ構造
module1/__init__.js
ブートストラップ.js
__init__.js
基本スクリプト (またはmodule1.js
) または何かをインポートするディレクトリをインポートします。
これは可能ですか?__init__.py
そのディレクトリに存在する場合、Pythonはディレクトリをモジュールとしてインポートします
knockout.js - ノックアウト コンポーネント - カスタム コンポーネント ローダー
私は Knockout コンポーネントを使用しており、モジュールの読み込みにはSystem.jsを使用しています。
カスタム コンポーネント ローダーがあります。
しかし、これは次のメッセージで失敗します。
TypeError: undefined は関数ではありません {stack: (...), message: "undefined is not a function"}
これは私のresult.templateがどのように見えるかです:
これは私のresult.createViewModelがどのように見えるかです:
完全なエラーは次のとおりです。
angularjs - traceur によって amd 形式の ES5 モジュールにトランスパイルされた angular ES6 のテストを実行するように karma と systemjs を構成する方法
わかりました、あまりにも長い間机に頭をぶつけていました。助けを求める時が来ました。基地から離れているか、森の木々が見えないだけかもしれません。助けてください。
gulp、Angular 1.3+、ES6、traceur、SystemJS、es_module_loader、および http-server を使用してアプリケーションを構築しようとしています。
これまでのところ、アプリは問題なく動作し、コンパイルされたフォルダーの場所から問題なくコンパイルおよび実行され、ホストされますが、コンパイルされたプロジェクト内で単一のテストを実行するために Karma を取得できません。
これが私のプロジェクト構造です:
gulp と traceur を使用して、すべての es6 コードを amd ラッパーを使用して es5 モジュールにトランスパイルできます。コンパイルされたアーティファクトは、次のようにビルド フォルダーに配置されます。
コンパイルされたレイアウトはソース レイアウトと同一ではありませんが、非常に似ています。
- ベンダー ライブラリは
lib
フォルダー内にあり、3 つの異なる場所 (npm、bower、およびカスタム ダウンロード) から取得されます。 - 、およびフォルダーは、いくつかのソースから収集されます
fonts
。css
img
- フォルダはと
_build/js
ほぼ同じですが、ファイルが 1 レベル上にあります。client/src/app folder
index.html
- html テンプレート ファイル (
*.tpl
) {一部はこれらのパーシャルを呼び出します} はすべて、以下に保存される $templateCache モジュールにコンパイルされます。_build/js/modules/common/templates/templates.module.js
次に、http-server を使用してサービスを提供します。はindex.html
ランタイム インフラストラクチャをロードし、最後に をロードしますbootstrap.js
。これは、SystemJs を使用して、/modules/
.
これはうまくいきます。すべてが読み込まれ、表示されます。
今、私はそれをテストしに行きます... SystemJs を使用してすべての依存関係をロードしているため (import
各モジュールと後続の src ファイルで使用して識別されます)、カルマがそれらの同じファイルを見つけてロードできるようにkarma-systemjsを使用する必要があります。
ここに私karma.config.js
の が保存されていますclient/src/tests/karma/karma.config.js
アプリをビルドして実行するgulp karma
と、次の非常に便利なエラー メッセージが表示されます。
system.config.js
ファイルは次のとおりです。
bootstrap.js
ファイルは次のとおりです。
私は途方に暮れています。client/src
フォルダーからテストを取得してメモリ内でコンパイルし、プリコンパイル済みコードに対して実行する方法を理解するのを手伝ってください_build/js
。