导入的变量和module.js导出的变量在内存中是存储在同一块地址空间的
在导入的模块中,是不能去修改导入的变量的值,因为这个变量是只读的
在导入的模块中,是不能去修改导入的变量的值,如果这个变量是一个对象,可以修改对象中的属性值.
原始的esModule规范中,import导入模块的时候,必须要加上后缀名 例如:
// import {myName} from "./module";// 错误
// import {myName} from './module.js' //正确
import可以导入文件夹
// import {lowercase} from "./utils/index.js";
// import {lowercase} from "./utils"; //简写
导入模块的时候,不提取模块中的任何成员,只会执行导入的模块中的所有js代码
// import {} from './module.js'
// import './module.js' //简写, 这样会执行导入的module.js中的所有js代码
把导入的模块中提取的所有成员放到一个对象中
* 表示所有成员
as 对象名:表示给存储所有成员的对象一个别名
// import * as mod from './module.js'
import 不能包含在嵌套的语句中,比如if,for ; import 只能出现在模块的最外/顶层
import是编译代码的时候运行的,并且是异步的
简写
import {myName,age,count,default as title} from "./module.mjs";
import title, {myName,age,count} from "./module.js"; //简写
原
// import {Button} from "./button.js";
// import {Avatar} from "./avatar.js";
// export {Button,Avatar}
简写
export {Button} from "./button.js";
export {Avatar} from "./avatar.js";