如何在ES6中使用密钥导入更改?

god*_*ban 6 javascript ecmascript-6 babeljs

我想用ES6导入编写require.在没有密钥的情况下,很容易做到:

var args2 = require('yargs2'); - > import foo from 'bar';

但是使用密钥,我找不到合适的语法:

var foo = require('bar').key;
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

lys*_*ing 13

导入具有别名的模块成员的语法是:

import {key as foo} from 'bar';
Run Code Online (Sandbox Code Playgroud)

这相当于 var foo = require('bar').key;

如果要导入成员而不对其进行别名,则语法更简单:

import {foo} from 'bar';
Run Code Online (Sandbox Code Playgroud)

相当于:

 var foo = require('bar').foo;
Run Code Online (Sandbox Code Playgroud)

关于import语句的MDN文章


Ami*_*mit 5

var foo = require('bar').keyvar bar = require('bar'); var foo = bar.key(可能不再需要的'bar'变量的声明相同).

如果导出具有名为"key"的属性的对象,则在ES6导入/导出中将是相同的.

import bar from 'bar';
var foo = bar.key;
Run Code Online (Sandbox Code Playgroud)

注意这假定export default xxx为OP中的默认export().如果使用命名的export(export foo),则使用的语法是import {foo} from 'bar'