要學習新的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