档案: SafeString.js
// Build out our basic SafeString type
function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
export default SafeString;
我以前从未见过export default
。是否有任何等价的东西export default
,可以更容易理解?
它是 ES6 模块系统的一部分,在此进行描述。该文档中还有一个有用的示例:
如果模块定义了默认导出:
export default function() { console.log("hello!") }
那么您可以通过省略花括号来导入该默认导出:
import foo from "foo"; foo(); // hello!
更新:从 2015 年 6 月开始,模块系统在§15.2中定义,尤其是export
语法在 ECMAScript 2015 规范的§15.2.3 中定义。
export default
值用于从脚本文件中导出单个类,函数或基元。
导出也可以写成
export default function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
这用于将此功能导入另一个脚本文件
在app.js 中说,您可以
import SafeString from './handlebars/safe-string';
顾名思义,它用于从脚本文件或模块中导出函数,对象,类或表达式
Utiliites.js
export function cube(x) {
return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;
可以将其导入并用作
App.js
import { cube, foo } from 'Utilities';
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
或者
import * as utilities from 'Utilities';
console.log(utilities.cube(3)); // 27
console.log(utilities.foo); // 4.555806215962888
使用导出默认值时,这要简单得多。脚本文件仅导出一件事。 cube.js
export default function cube(x) {
return x * x * x;
};
并用作App.js
import Cube from 'cube';
console.log(Cube(3)); // 27
当函数没有名称时,可以使用export default function(){}
文件中只能有一个默认导出。替代方法是命名出口。
本页详细介绍了export default
,以及有关模块的其他详细信息,我发现它们非常有用。