假设我有一个模块(./my-module.js),它的对象应该是它的返回值:
let values = { a: 1, b: 2, c: 3 }
// "export values" results in SyntaxError: Unexpected token这样我就可以像:
import {a} from './my-module' // a === 1
import * as myModule from './my-module' // myModule.a === 1我发现的唯一方法是对出口进行硬编码:
export let a = values.a
export let b = values.b
export let c = values.c
// or:
export let {a, b, c} = values这不是动态的。
可以从一个对象导出所有值吗?
发布于 2015-04-24 19:44:06
似乎不是这样的。来自ECMAScript 6模块:最终语法的报价
您可能想知道-如果我们可以简单地默认导出对象(比如CommonJS),为什么我们需要命名导出?答案是,您不能通过对象强制执行静态结构,并且失去所有相关的优点(在下一节中将介绍)。
发布于 2016-05-05 00:33:38
我只需要对一个配置文件这样做。
var config = {
x: "CHANGE_ME",
y: "CHANGE_ME",
z: "CHANGE_ME"
}
export default config;你可以这样做
import { default as config } from "./config";
console.log(config.x); // CHANGE_ME这是用打字稿提醒你。
发布于 2016-11-20 14:04:16
试试这个丑陋但可行的解决方案:
// use CommonJS to export all keys
module.exports = { a: 1, b: 2, c: 3 };
// import by key
import { a, b, c } from 'commonjs-style-module';
console.log(a, b, c);https://stackoverflow.com/questions/29844074
复制相似问题