Electron 需要在Aurelia应用程序中导入电子的帮助吗

Electron 需要在Aurelia应用程序中导入电子的帮助吗,electron,aurelia,systemjs,jspm,Electron,Aurelia,Systemjs,Jspm,我正在使用一个骨架导航,骨架类型脚本 我正在尝试导入Electron.remote,以便可以从JS中关闭Electron窗口。这是我在config.js中看到的: paths: { "*": "dist/*", "github:*": "jspm_packages/github/*", "npm:*": "jspm_packages/npm/*", "node_modules:*": "node_modules/*" }, map: { "el

我正在使用一个骨架导航,骨架类型脚本

我正在尝试导入Electron.remote,以便可以从JS中关闭Electron窗口。这是我在config.js中看到的:

  paths: {
    "*": "dist/*",
    "github:*": "jspm_packages/github/*",
    "npm:*": "jspm_packages/npm/*",
    "node_modules:*": "node_modules/*"
  },
  map: {
    "electron": "node_modules:electron/index.js",
  }
在我的JS文件中,我导入如下内容:

import * as electron  from 'electron';
但在路径中找不到关于fs.js的错误:

Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:9000/dist/fs.js

有人能帮我解决这个问题吗

取决于您选择的装载机/捆绑机策略

electron已定义节点require()。 在启动依赖AMD的应用程序之前,您想重新定义它

TL;博士 您希望将节点分配给另一个变量
window.node\u require=require
然后删除原件
delete require

只有在这之后,您才能在应用程序中引用脚本 在应用程序内部,您可以使用
node\u require()
加载节点模块


以下是相关评论:

这是我如何用JSPM&SystemJS修复Aurelia Skeleton Typescript的问题:我将index.html作为我的条目:

  <script type="text/javascript">
    window.node_require = require;
    delete window.require;
    delete window.exports;
    delete window.module;
  </script>

我将gulp与systemjs一起使用,我将尝试使用您建议的代码。该代码应该位于您导航到应用程序外部的electron渲染器的页面中。首先,我把index.html头放进我的条目中:
window.node\u require=require;删除window.require;删除window.exports;删除window.modulenodeIntegration:true
,并在我的TS文件中:
declare global{interface Window{node\u require:any;}}}const remote=Window.node\u require('electron').remote不要害羞。回答你的问题并接受它。我试着给你找到那个密码,但失败了。你自己弄到的;
declare global {
  interface Window {
    node_require: any;
  }
}

var remote: any;

if (typeof window.node_require == "function") {
  remote = window.node_require('electron').remote;
}

  closeApp() {
    var window = remote.getCurrentWindow();
    window.close();
  }