用于多个“静态”函数的ES6模块语法

时间:2015-10-03 14:21:12

标签: javascript module ecmascript-6

我来自Java,并试图将“实用类”的想法转变为适用于ES6的东西。

在我的文件numbers.js中,我可以导出一个函数:

export default function padDigits(number, digits) {
    return new Array(Math.max(digits - String(number).length + 1, 0)).join(0) + number;
}

然后可以将其导入另一个文件,如:

import padDigits from '../utils/numbers';
...
var paddedNum = padDigits(myNum, 2);

但是:我希望有两件事可以实现:我想(1)从这个单个文件导出多个函数,(2)我希望它们可以通过单个import语句,并通过名称空间/类名前缀调用,如:

import Numbers from '../utils/numbers';
...
var paddedNum = Numbers.padDigits(myNum, 2);
var truncatedNum = Numbers.truncate(myNum, 3);

但我很难找到合适的语法来实现这一目标。

1 个答案:

答案 0 :(得分:3)

你可能正在寻找通配符吗?

import * as nums from '../utils/numbers';

一个类似的问题:TypeScript 1.5: ES6 Module default import of CommonJS 'export =' (.d.ts only issue?)

更详细的答案:New es6 syntax for importing commonjs / amd modules i.e. `import foo = require('foo')`