2015-12-17 123 views
5

我只是想知道是否有可能让systemjs使用require(“remote”)。require(“nodemodule”),如果系统js在自己的注册表中找不到模块?用电子和Systemjs导入节点模块

我认为使用电子时打字稿和CommonJS的模块,这样的机制已经工作...

已经有人已经解决了这一斗争?

+0

看起来涉及到我解决[这里](HTTP同样的问题: //stackoverflow.com/a/41351751/322984)。 – Monsignor

回答

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添加到阵列和一切都很好