import与export

模块加载方案

模块功能主要由两个命令组成,Module的import命令和export命令,用来在js文件中暴露和接受变量、函数和类。

一、export命令

暴露的可以是变量,函数和类,语法如下:

let name="Alice";
let age=18;
let year=2009;
let person={
    name:"Tony",
    age:20
}
export {name,age,year};
export{person as student,person as teenager}

-

(1)暴露的对象必须加{},它表示暴露的是一个接口。如果不加的话,它表示暴露的是一个值,这样就会报错。比如下面这段代码,就是错误的。

var name="Alice";
export name;

-

(2)as关键字,可以给暴露的对象换名字,同一个对象可以多次使用as关键字,用不同的名字暴露出去。

(3)export命令必须处于模块的顶层,位置无所谓。

(4)export暴露的对象是动态绑定关系,如果发生变化,外部引用也会变化。

二、import命令

插曲:

Node是JS语言的服务器你运行环境,他对ES6的支持度很高。虽然我的电脑上也安装了Node.js环境,但是这个倒霉孩子,电脑竟然不支持ES6的Module模块,虽然是为啥他不支持我也不明白。 

 

 在电脑不支持Module的情况下,想要引用暴露的文件怎么办呢?

暴露:

暴露的可以有变量、对象和方法。

let year=2009;
let person={
    name:"Tony",
    age:20
}
let test=function(){
    console.log("It is a function!")
}
module.exports={year,person,test};

引入:

引入的info是一整个对象。这种引入是CommonJS模块里的功能。

var info = require("./main.js");
console.log('引入文件', info);
info.test();

但是上面的这两种方法都不能使用as关键字。

猜你喜欢

转载自www.cnblogs.com/qingshanyici/p/10748981.html