Javascript 相当于在ES6导入中需要子属性
我有一个现有的Javascript 相当于在ES6导入中需要子属性,javascript,import,ecmascript-6,require,Javascript,Import,Ecmascript 6,Require,我有一个现有的要求: const {dialog} = require('electron').remote; 我开始在ES6中使用Babel,并希望将其导入。到目前为止,我已经: import electron from 'electron'; const {dialog} = electron.remote; 这太难看了,我忍不住觉得有更好的办法。我只需要这里的对话框。我如何在一行中找到它?没有什么“丑陋”,这是在ES6中应该如何写的东西 imports应在不进行脚本计算的情况下进行静态
要求
:
const {dialog} = require('electron').remote;
我开始在ES6中使用Babel,并希望将其导入。到目前为止,我已经:
import electron from 'electron';
const {dialog} = electron.remote;
这太难看了,我忍不住觉得有更好的办法。我只需要这里的对话框。我如何在一行中找到它?没有什么“丑陋”,这是在ES6中应该如何写的东西
import
s应在不进行脚本计算的情况下进行静态分析,支持的语法有限。默认导入不能在import
语句中进行解构,所有语法类型
它可以写成
import electron from 'electron';
const { remote: { dialog } } = electron;
ECMAScript模块语法不允许深度分解。事实上,它根本不会破坏结构。Import语句在模块之间创建活动绑定 这是本·纳德尔写的一篇很棒的博客文章。它应该可以为绑定提供一些帮助: 这样做
import electron from 'electron';
const {dialog} = electron.remote;
electron
就是这样的绑定。通过执行destructuring assignmentdialog
是正常常数,它不会“绑定”到电子模块(不会更新)。不幸的是,我不认为有一种方法可以使用ES6导入也进行深层次的destructure,因此您现在所做的是目前所能做的。相关: