ES 6 中 "Import" 的要点是什么?
What is the Point of "Import" in ES 6?
换句话说,有什么区别:
<!--index.html-->
<script src="./fooFolder/lib.js"></script>
和
/*--app.js --*/
import * as lib from 'fooFolder/lib';
正在访问的文件:
//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
export function diag(x, y) {
return sqrt(square(x) + square(y));
}
使用 import 语句的主要好处是不是所有内容都会立即加载?但似乎我仍然必须在索引中包含文件引用,所以情况似乎并非如此。
所以,简而言之,重点是什么(我确定有一个,但我完全想念它)。
作用域和命名空间
https://en.wikipedia.org/wiki/Scope_(computer_science)
代码分离和测试,导入允许错误本地化,由于范围有限,测试不那么复杂
压缩和优化,工具可以找出需要或不需要的代码,因此您可以专注于编程而不是寻找依赖关系
共享库,通用包使用较少的样板代码
导入是良好代码架构的重要组成部分,如果您想了解更多信息,我建议您阅读类似 Angular 2 架构的内容 https://angular.io/docs/ts/latest/guide/architecture.html
换句话说,有什么区别:
<!--index.html-->
<script src="./fooFolder/lib.js"></script>
和
/*--app.js --*/
import * as lib from 'fooFolder/lib';
正在访问的文件:
//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
export function diag(x, y) {
return sqrt(square(x) + square(y));
}
使用 import 语句的主要好处是不是所有内容都会立即加载?但似乎我仍然必须在索引中包含文件引用,所以情况似乎并非如此。
所以,简而言之,重点是什么(我确定有一个,但我完全想念它)。
作用域和命名空间 https://en.wikipedia.org/wiki/Scope_(computer_science)
代码分离和测试,导入允许错误本地化,由于范围有限,测试不那么复杂
压缩和优化,工具可以找出需要或不需要的代码,因此您可以专注于编程而不是寻找依赖关系
共享库,通用包使用较少的样板代码
导入是良好代码架构的重要组成部分,如果您想了解更多信息,我建议您阅读类似 Angular 2 架构的内容 https://angular.io/docs/ts/latest/guide/architecture.html