私は、次のRequireJSで書かれたレガシーJSファイルを、(AMD)モジュールの表記があります。Angular 4.x(Angular Cli)アプリケーションでRequireJS(AMD)モジュールをインポートするには?
define('mymodule', [], function(){
// ... bla bla bla
return {
calculate: function() { return 1 + 1; }
};
});
私はそれゆえ、RequireJSを使用して、別の(レガシー)プロジェクトからこのファイルをインポートしています - を私がすることはできません使用されたモジュール定義を変更してください。
TypeScriptで書かれたAngular Cli(Angular 4.x)アプリでインポートします。
角度CLIは、プロジェクトをビルドするためにWebPACKの2を使用してAMDをサポートしている、私はこのようにそれをインポートすることができます思ったので:
import * as MyModule from './mymodule.js';
...しかし、それは働いていない、それはmymodule.js
があるというエラーをトリガモジュールではありません。
このレガシーモジュールをインポートするにはどのようなアイデア(または回避策)が必要ですか?
'mymodule.js'ファイルは、この' exports'が注入されたときやパブリックモジュールのメソッド(値)は、このように定義されているとき、それは確かに動作します: 'exports.valueは=「AAA」を;'しかし、私のユースケースは異なります。私の 'mymodule.js'ファイルは異なるロジックを持っています。 'define'ステートメントは、' exports'の注入が不足していて、単純にパブリックモジュールのメソッド(または値)を返します。あなたが私の 'mymodule.js'でロジック/構造を変更することなくそれをインポートすることができれば、何か提案がありますか(悲しいことに、それは私が対処する必要がある主な要件です)? –
これはmodulesという名前で、なぜ動作しないのかわかりません。 System.import( './ mymodule.js')を実行してください。次に(x => console.log(x)); –
残念ながら、これはうまくいきません。型スクリプトエラー: '名前が見つかりません 'システム' –