微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript ES6 模块化

1、ES6中模块化规范:

每个js文件都是一个独立的文件

导入其他模块成员使用import关键字

向外共享模块成员使用export关键字

 

2、nodejs中使用ES6模块化规范:

nodejs认只支持Commonjs规范,要在nodejs中使用ES6的模块化规范,需要满足两个条件:

(1)nodejs版本大于等于 v14.15.1

使用命令

node --version

 

(2)在package.json文件添加[type:module]的设置

{
  "name": "demo1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "type": "module",
  "dependencies": {
    "jquery": "^3.6.0",
    "then-fs": "^2.0.0"
  }
}

 

3、ES6模块化基本语法:

(1)认导出与认导入

导出模块代码

let n1 = '张三'
let n2 =  18

function show(){
    console.log('hello');
}

export default 
{
    n1,
    show
}

 

导入模块代码

import mod1 from './mod.js'

console.log(mod1.n1)
mod1.show()

运行结果为:

张三
hello

 

注意事项:

每个模块中,只能使用唯一的一次export default

认导入时,接受的名称可以使用任意名称,但需要是合法的名称,例如不能以数字开头。

 

(2)按需到出与按需导入

导出模块代码

//按需导出
export let s1 = 's1'
export let s2 = 's2'
export function say(){
    console.log('hello')
}

//认导出
export default {
    s3:'s3'
}

 

导入模块代码

import msg,{s1,s2,say} from './mod2.js'

//使用按需导入
console.log(s1)
console.log(s2)
say()

//使用认导入
console.log(msg.s3)

 

运行结果:

s1
s2
hello
s3

 

注意事项:

每个模块中可以使用多次按需到出

按需导入的成员名称必须和按需导出的名称保持一致

按需导入时,可以使用as关键字进行重命名

按需导入可以和认导入一起使用

 

(3)直接导入并执行

导出模块代码

for(let i=0;i<3;i++){
    console.log(i)
}

 

导入模块代码

import './mod3.js'

运行结果

0
1
2

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐