es6模块化是浏览器与服务端通用的模块化开发规范,导入 其他模块成员使用import关键字,向外共享模块成员使用export关键字。
第一步:
在node.js中体验es6,首先确认自己安装的nodejs版本在面板中node -v即可查看,
在npm init -y快速初始化一个包管理配置文件package.json,在package.js中添加"type":"module"节点。
第二步:
es6的模块化主要包含如下3种方法:
默认导出与默认导入
默认导出语法:export default 默认导出成员
let n1=10 //定义模块私有成员n1 let n2=20//定义模块私有成员n2,(外界访问不到n2,因为它没有被共享出去) function show(){}//定义模块私有方法show export default{//使用export default默认导出语法,向外共享n1,show两个成员 n1, show }
默认导入语法:import 接收名称 from "模块标识符"
import m1 from './默认导出.js' //从./默认导出.js 模块中导入export default 向外共享的成员 console.log(m1) //打印出的结果为: //{n1:10,show:[function:show]}
注意:export default只能使用一次,不然会报错。
默认导入时的接收名称可以是任意名称,不能以数字开头,合法即可。
按需导出与按需导入
按需导出的语法,export按需导出的成员
export let s1="aa"//向外按需导出s1 export let s2='ccc'//向外按需导出s2 export function say(){}//向外按需导出方法say
按需导入的语法:import {s1} from "模块标识符
import {s1,s2,say} from "./按需导出.js" console.log(s1)//打印输出aa console.log(s2)//打印输出ccc console.log(say)//打印输出[function:say]
注意:每个模块中可以多次按需导出
按需导入的成员名称必须要和按需导出的名称一致
按需导入时,可以用as关键字重命名
按需导入可以和默认导入一起使用
//按需导出.js export let s1="aa"//向外按需导出s1 export let s2='ccc'//向外按需导出s2 export function say(){}//向外按需导出方法say export default { a1:'hhhh', a2:'sss' }
//按需导入.js import info,{s1,s2 as time,say} from "./按需导出.js" console.log(s1)//打印输出aa console.log(time)//打印输出ccc console.log(say)//打印输出[function:say] console.log(info) //输出结果为: //aa //ccc //[Function: say] //{ a1: 'hhhh', a2: 'sss' }
直接导入并执行模块中的代码
如果只想单纯地执行某个模块中的代码,并不要得到模块中向外共享的成员。此时可以直接导入并执行模块代码,实例如下:for(let i=0;i<=3;i++){ console.log(i) } //-------------分割线-------------------------------------- import './直接运行模块中的代码.js' //结果为: 0 1 2 3