export { x as x } 中的 as 是什么?

今天在读一个开源框架的时候看到了一行

1
export { installer as VueAxios, service as axios };

然后我就 ? ? ?,以前一直都不知道这个 as,然后就赶紧百度,结果没有一个匹配的结果。

然后就只能从阮一峰老师的ES6入门里边找…


通常情况下,export 输出的变量就是本来的名字,但是可以使用 as 关键字重命名。

示例代码:

1
2
3
4
5
6
7
function v1() { ... }
function v2() { ... }
export {
v1 as streamV1,
v2 as streamV2,
v2 as streamLatestVersion
};

上面代码使用 as 关键字,重命名了函数 v1 和 v2 的对外接口。重命名后,v2 可以用不同的名字输出两次。

所以其实 as 关键词的作用就是重命名导出的关键词,来起一个更加语义化的名称,或者隐藏模块里边的变量名称。

然后再重新查阅其它博客的文章的时候发现,有一部分的博客把重命名写在了 as 关键词前边,我就又奇怪了,难不成两边都可以嘛?我就自己写了个demo,然而只能写在后边….

好了,Demo 也写了,也闹明白了,其实就是一个关键字重命名,所以用到的太少了,看到就蒙了,以后记着就好。