guqzhou guqzhou
首页
快捷导航
下载站
  • Html 篇
  • Javascript 基础篇
  • 框架

    • Vue2
  • 前端文章

    • Css 篇
    • 微信开发
    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
    • JavaScript 基础
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 面试题库

    • HTML
    • CSS
    • jQuery
    • Vue
    • 零碎
  • 面试心得

    • 杂言碎语
  • 摘抄收录

    • ☆ 励志鸡汤
    • ❀ 人间烟火
    • ☣ 万物沦丧
    • ✌ 关掉烦恼
    • ✲ 小酒馆
  • 读书笔记

    • 《小狗钱钱》
    • 《穷爸爸富爸爸》
    • 《聪明人使用方格笔记本》
关于
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue资源
  • 主站CDN
  • Vercel
  • Netlify
  • Github
GitHub

guqzhou

喜欢所以去追求!
首页
快捷导航
下载站
  • Html 篇
  • Javascript 基础篇
  • 框架

    • Vue2
  • 前端文章

    • Css 篇
    • 微信开发
    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
    • JavaScript 基础
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 面试题库

    • HTML
    • CSS
    • jQuery
    • Vue
    • 零碎
  • 面试心得

    • 杂言碎语
  • 摘抄收录

    • ☆ 励志鸡汤
    • ❀ 人间烟火
    • ☣ 万物沦丧
    • ✌ 关掉烦恼
    • ✲ 小酒馆
  • 读书笔记

    • 《小狗钱钱》
    • 《穷爸爸富爸爸》
    • 《聪明人使用方格笔记本》
关于
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue资源
  • 主站CDN
  • Vercel
  • Netlify
  • Github
GitHub
  • vue2
  • CSS

  • Javascript基础

  • javascript进阶

    • 作用域&&结构&&箭头函数
    • ES6模块化
      • ES6模块化
        • 回顾nodeJS的模块化规范
        • ES6模块化规范中定义
        • 体验ES6模块化
        • 默认导入与默认导出
        • 按需导出与按需导入
    • Promise
    • EventLoop
    • 深拷贝和浅拷贝
  • typeScipt

  • vue2

  • vue3

  • react

  • vue实战

  • pinia的使用

  • gis

  • 前端文章

  • JavaScript文章

  • Vue文章

  • 小程序开发文章

  • uni-app

  • 学习笔记

  • TaroUI的使用

  • 工具使用

  • 前端
  • javascript进阶
guqzhou
2023-06-11
0

ES6模块化

# ES6模块化

它是浏览器端与服务器端通用的模块化开发规范,它的出现降低了前端开发模块化的学习成本

# 回顾nodeJS的模块化规范

  1. 浏览器端遵循AMD和CMD规范
  2. 服务器端遵循CommonJS规范 (1)导入其他模块用require() (2)模块对外共享成员使用module.exports对象 优点:降低了沟通成本,极大方便了各模块之间的相互调用

# ES6模块化规范中定义

  1. 每个js文件都是一个独立模块
  2. 导入其他模块成员用import关键字
  3. 向外共享模块成员使用export关键字

# 体验ES6模块化

  1. node 高于14.15.1
  2. 在package.json的根节点中添加"type":"module"节点

# 默认导入与默认导出

# 默认导出

语法规范:export default 默认导出的成员

let a = 5
function show() {
    console.log('默认导出')
}
export default {
    a,
    show
}

1
2
3
4
5
6
7
8
9

注:

  • 每个模块中,只允许使用唯一的一次export default,否则会报错

语法规范:import 接收名称 from '模块标识符'

import m1 from '../../ts/hook'
onMounted(()=> {
    console.log(m1)
})
// {a: 5, show: ƒ}
1
2
3
4
5

注:

  • 默认导入时的接收名称可以任意名称,只要合法就行

# 按需导出与按需导入

# 按需导出

语法规范:export 按需导出的成员

export const a = () => {
    console.log(6666)
}

export function say() {
    console.log('说话')
}
1
2
3
4
5
6
7

注:

  • 每个模块中可以使用多个按需导出

# 按需导入

语法规范:import { a,say } from '模块标识符'

import { a , say} from '../../ts/a'
onMounted(()=> {
    console.log(a(),say())
})
1
2
3
4

注:

  • 按需导入的成员名称必须和按需导出的成员名称保持一致
  • 按需倒日时,可以用as关键字进行重命名
  • 按需可以和默认导入一起使用
export const a = '123'
const b = 66
export default  {
   b
}
1
2
3
4
5
import info, { a } from './****'
1
上次更新: 2023/06/25, 10:06:00
作用域&&结构&&箭头函数
Promise

← 作用域&&结构&&箭头函数 Promise →

最近更新
01
面向对象
01-05
02
typescript用localStorage封装过期时间
01-05
03
npm、pnpm、yarn删除文件缓存
12-14
更多文章>
Theme by Vdoing | Copyright © 2021-2024 guqzhou | 萌ICP备20238188号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式