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 语句的主要好处是不是所有内容都会立即加载?但似乎我仍然必须在索引中包含文件引用,所以情况似乎并非如此。

所以,简而言之,重点是什么(我确定有一个,但我完全想念它)。

  1. 作用域和命名空间 https://en.wikipedia.org/wiki/Scope_(computer_science)

  2. 代码分离和测试,导入允许错误本地化,由于范围有限,测试不那么复杂

  3. 压缩和优化,工具可以找出需要或不需要的代码,因此您可以专注于编程而不是寻找依赖关系

  4. 共享库,通用包使用较少的样板代码

导入是良好代码架构的重要组成部分,如果您想了解更多信息,我建议您阅读类似 Angular 2 架构的内容 https://angular.io/docs/ts/latest/guide/architecture.html