需要帮助在 Aurelia 应用程序中导入 Electron
Need help importing Electron in Aurelia app
我正在使用骨架导航、骨架打字稿之一。
我正在尝试导入 Electron.remote 以便我可以从 JS 中关闭电子 window。这就是我在 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 not found in path:
的错误
Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:9000/dist/fs.js
有人可以帮助我解决这个问题吗?
取决于您选择的 loader/bundler 策略
electron 定义了节点 require()。
你想在启动依赖于 AMD 的应用程序之前重新定义它 require
https://github.com/electron/electron/issues/303
长话短说;博士
你想将节点 require 分配给另一个变量
window.node_require = require
然后删除原来的
delete require
只有在这之后您才能在您的应用中引用脚本
在您的应用程序中,您使用 node_require()
加载节点模块
这就是我使用 JSPM 和 SystemJS 解决 Aurelia Skeleton Typescript 问题的方法:我输入了 index.html head,这是我的条目:
<script type="text/javascript">
window.node_require = require;
delete window.require;
delete window.exports;
delete window.module;
</script>
然后我为 BrowserWindow 设置 nodeIntegration: true
。
在我的 TS 文件中:
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();
}
我正在使用骨架导航、骨架打字稿之一。
我正在尝试导入 Electron.remote 以便我可以从 JS 中关闭电子 window。这就是我在 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 not found in path:
的错误Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:9000/dist/fs.js
有人可以帮助我解决这个问题吗?
取决于您选择的 loader/bundler 策略
electron 定义了节点 require()。 你想在启动依赖于 AMD 的应用程序之前重新定义它 require
https://github.com/electron/electron/issues/303
长话短说;博士
你想将节点 require 分配给另一个变量
window.node_require = require
然后删除原来的
delete require
只有在这之后您才能在您的应用中引用脚本
在您的应用程序中,您使用 node_require()
加载节点模块
这就是我使用 JSPM 和 SystemJS 解决 Aurelia Skeleton Typescript 问题的方法:我输入了 index.html head,这是我的条目:
<script type="text/javascript">
window.node_require = require;
delete window.require;
delete window.exports;
delete window.module;
</script>
然后我为 BrowserWindow 设置 nodeIntegration: true
。
在我的 TS 文件中:
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();
}