要学习新的ES6语法,我一直试图重构一些JS代码。ES6语法导入电子(需要..)
尽管整个导入/导出方法让我感到困惑。
如何将此require
声明更改为ES6?
我见过this answer但:
- 它不工作
- 它并不真正似乎很有ES6-sque
有什么想法?
要学习新的ES6语法,我一直试图重构一些JS代码。ES6语法导入电子(需要..)
尽管整个导入/导出方法让我感到困惑。
如何将此require
声明更改为ES6?
我见过this answer但:
有什么想法?
虽然我对整个导入/导出方法非常困惑,
混合不同的模块系统确实会令人困惑。
- 它不工作
const electron = require('electron');
const remote = electron.remote;
是完全一样的,你有什么
如果你的工作,其他的意志为好。但是,我会坚持你的。
- 它并不真正似乎很有ES6-sque
谁在乎呢? Node本身不支持ES6 imports
和exports
,并且CommonJS模块应该如何映射到ES6模块并不是非常清楚。无论如何,如果您只是为Node写信,我建议坚持使用require
。
你可以尝试做
import electron from 'electron';
const {remote} = electron;
是的,我明白你的意思。谢谢您的帮助! – c1c1c1
似乎进口没有在任一节点实施 6或Chrome 51电子也不会支持他们,根据这个帖子:https://discuss.atom.io/t/does-electron-support-es6/19366/18
而且最后一个电子文档不使用导入,他们使用解构语法:
const { BrowserWindow } = require('electron').remote
// or
const { remote } = require('electron')
const { BrowserWindow } = remote
http://electron.atom.io/docs/api/remote/
但是你可以使用与需要钩巴贝尔: http://babeljs.io/docs/usage/require/
进行自动编译每个需要的模块,所以你将能够使用进口。 当然给电子(需要巴贝尔的一个)脚本没有被编译,所以你需要做一个引导:
// bootwithbabel.js
require("babel-register");
require(process.argv.splice(2));
在外壳(SH):
electron bootwithbabel.js app.es
alias electrones="electron bootwithbabel.js "
electrones coron.es // ^^
然后在您的应用程序那么你可以这样写:
import electron from 'electron';
import { remote } from 'electron';
您也可以只导入远程模块:
import { remote } from 'electron';
但是,你只能在一个声明中同时导入:
import electron, { remote } from 'electron'
electron.ipcRenderer.on();
let win = new remote.BrowserWindow({width: 800, height: 600});
remote.getGlobal(name)
我忘记了这个链接:babel预设为电子https://www.npmjs.com/package/babel-preset-electron –
你在哪里打算使用ES6语法?在浏览器? – acdcjunior
在电子应用 – c1c1c1