export function square(x) {
return Math.pow(x, 2);
};
export function log10(x) {
return Math.log10(x);
};
export const PI = Math.PI;
上面定义了一个简单的ES2015模块,定义并导出了square和log10两个函数以及常量PI。
若不想多次使用export,可以这样:
math.ts
function square(x) {
return Math.pow(x, 2);
};
function log10(x) {
return Math.log10(x);
};
const PI = Math.PI;
export { square, log10, PI };
用下列方式消费该模块:
app.ts
import {square, log10} from './math';
console.log(square(2)); // 4
console.log(log10(10)); // 1
结果为:4 1
我们使用基于当前文件的相对路径作为模块的标识符('./math')
1、有时需要给导出的内容起一个别名:
import {bootstrap as initialize} from 'angular2/platform/browser';
2、可以用以下方式导入所有导出的模块:
import * as math from './math';
console.log(math.square(2)); // 4
console.log(math.log10(10)); // 1
console.log(math.PI); // 3.141592653589793
3、默认导出:
math.ts
export function cube(x) {
return Math.pow(x, 3);
};
export default function square(x) {
return Math.pow(x, 2);
};
square函数被默认导出。
app.ts
import test from './math';
console.log(test(3)); // 9
默认导出指的是默认的名字,比如上面的默认导出函数是square,那么下面的test指代的就是square函数。
4、模块加载器,允许定义并导入模块,还可以配置模块的加载方式---后续学习