2015-12-17 67 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添加到陣列和一切都很好