javascript - Electron と Systemjs でノードモジュールをインポートする
もし systemjs が自分のレジストリでモジュールを見つけられない場合、systemjs が require("remote").require("nodemodule") を使用することが可能かどうか、ちょっと疑問に思いました。
私は、ElectronをTypeScriptやCommonJSモジュールと一緒に使用するときに、このような仕組みがすでに機能していると思います…
その問題をすでに誰かが解決しましたか?
回答 #1
ついにしばらくして、私は動作する解決策を見つけました:
var node_modules = ["child_process","fs"];
var fetch = System.fetch;
window.remote=require("remote");
System.fetch = function () {
var promise= fetch.apply(System,arguments);
return promise.then(function (js) {
for(var m of node_modules){
var requireExpression = 'require("'+m+'");';
var remoteRequire = 'remote.require("'+m+'");'
js=js.replace(requireExpression,remoteRequire);
}
return js;
});
}
System.import("aurelia-bootstrapper");
インポートしたすべての node_modules を配列に追加するだけで、問題ありません
