gpt4 book ai didi

javascript - ES6 语法 import Electron (需要..)

转载 作者:行者123 更新时间:2023-12-03 02:50:30 32 4
gpt4 key购买 nike

为了学习新的 ES6 语法,我一直在尝试重构一些 JS 代码。

尽管我对整个导入/导出方法感到非常困惑。

如何将此 require 语句更改为 ES6?

var remote = require('electron').remote

我见过this answer但是:

  1. 这不起作用
  2. 它看起来并不像 ES6 那样

有什么想法吗?

最佳答案

根据这篇文章,Node 6 或 Chrome 51 中似乎都没有实现导入,因此 Electron 也不支持它们:https://discuss.atom.io/t/does-electron-support-es6/19366/18

而且最后一个 Electron 文档不使用导入,它们使用解构语法:

const { BrowserWindow } = require('electron').remote
// or
const { remote } = require('electron')
const { BrowserWindow } = remote

http://Electron.atom.io/docs/api/remote/

但是你可以将 babel 与 require 钩子(Hook)一起使用: http://babeljs.io/docs/usage/require/

自动编译每个所需的模块,以便您能够使用导入。当然,给 Electron 的脚本(需要 babel 的脚本)没有被编译,所以你需要制作一个 Bootstrap :

// bootwithbabel.js
require("babel-register");
require( process.argv.splice(2) );

在 shell 中(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)

playground

关于javascript - ES6 语法 import Electron (需要..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374353/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com