javascript - 相当于 ES6 import 中需要一个子属性

标签 javascript import ecmascript-6 require

我有一个现有的要求:

const {dialog} = require('electron').remote;

我开始在 ES6 中使用 Babel,并且想导入它。到目前为止我已经:

import electron from 'electron';
const {dialog} = electron.remote;

这很丑陋,但我忍不住觉得有更好的方法来做到这一点。我只是需要这里的对话框。我如何在一行中得到它?

最佳答案

ECMAScript 模块语法不允许深度解构。事实上它根本不会破坏。导入语句在模块之间创建实时绑定(bind)。

这是本·纳德尔 (Ben Nadel) 撰写的精彩博客文章。它应该对绑定(bind)有一些启发:http://www.bennadel.com/blog/3131-the-import-statement-creates-a-live-view-of-modules-in-es6-and-typescript-in-angular-2.htm

所以通过这样做

import electron from 'electron';
const {dialog} = electron.remote;

电子就是这样的绑定(bind)。通过解构赋值 dialog 是正常常量,它不会“绑定(bind)”到电子模块(它不会更新)。

关于javascript - 相当于 ES6 import 中需要一个子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39059084/

相关文章:

javascript - 为什么像 Reddit 这样的社交网站都使用这种方法?

Python:从导入的模块中获取导入模块的详细信息

sql-server - PowerShell New-AzSqlDatabaseImport - 0 : The storage account cannot be accessed. 请检查存储帐户名称和 key ,然后重试

java - 无法在 Eclipse 中解析 import com.sun.javadoc

javascript - 为什么 Firefox 会等到一个 javascript 函数完成后再启动另一个函数?

javascript - 为什么有些变量没有定义?

Javascript如何设置超时

javascript - 从数组 JavaScript 求和

javascript - 箭头函数 "this"绑定(bind)在 React 组件中不起作用

javascript - babel 编译 es6 类,函数未定义