广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何理解JavaScript模块化
  • 433
分享到

如何理解JavaScript模块化

2024-04-02 19:04:59 433人浏览 泡泡鱼
摘要

目录1. 浏览器支持2. export 导出模块3. import 导入模块4. 创建模块对象5. export import 中转站6. 动态加载模块1. 浏览器支持 使用java

1. 浏览器支持

使用javascript 模块依赖于 import 和 export,import 和 export 的浏览器支持程度是最新的浏览器版本都是支持的,但 IE 和旧版本的浏览器不支持,因此若想兼容 IE 和旧版本的浏览器基本就不能使用了。

export 和 import 是成对出现,配合工作的

js模块化是各种JS框架学习的前提基础

import 和 export 语句用于将一个模块里实现某些功能的变量或函数导入/导出,也可导入/导出类

2. export 导出模块

默认导出

一个模块只能有一个默认导出,默认导出的变量只能有一个,且不能有大括号{}

语法为export default 变量名

model.js


function Test1(){
    console.log("这是默认导出")
}
function Test2(){
    console.log('这是命名导出')
}
export default Test1

批量导出

语法为export {变量名,变量名……}


function Test1(){
    console.log("这是默认导出")
}
function Test2(){
    console.log('这是命名导出')
}
export {Test1, Test2}

3. import 导入模块

默认导入

main.js


import Test1 from "./model.js"
Test1()

默认导入的重命名

main.js


import x from "./model.js"//x就是默认导出的Test1
x()

批量导入

main.js


import {Test1, Test2} from "./model.js"
Test1();
Test2();

批量导入的重命名

as关键字跟一个新名字实现重命名

main.js


import {Test1 as x1, Test2 as x2} from "./model.js"
x1();
x2();

也可在导出时用as关键字重命名

model.js


function Test1(){
    console.log("这是默认导出")
}
function Test2(){
    console.log('这是命名导出')
}
export {Test1 as x1, Test2 as x2}

应用模块

html


<script src="main.js"></script>

4. 创建模块对象

使用对象,在as关键字重命名的基础上进一步简单化


import * as Model from "./model.js"
Model.x1();
Model.x2();

5. export import 中转站

有时候可以将多个子模块组合到一个父模块中,再由父模块决定导出哪个,这个父模块文件就像是个组合各个模块的中转站

语法为export {变量名} from 模块路径

当前目录结构结构

src

    index.html

    main.js

    redirection.js

    models

        model.js

        model2.js

model.js


function Test1(){
    console.log("这是子模块1")
}
export {Test1}

model2.js


function Test2(){
    console.log('这是子模块2')
}
export {Test2}

redirection.js


export {Test1} from "./models/model.js"
export {Test2} from "./models/model2.js"

main.js


import * as Model from "./redirection.js"
Model.Test1()
Model.Test2()

html


<script src="./main.js"></script>

6. 动态加载模块

动态加载模块用于在导入模块时不必预先加载所有模块,可以在需要时使用 import() 作为函数调用,将其参数传递给模块的路径,它返回一个 promise,使用 Promise 对象对模块加载结果操作。

语法为import(动态加载的模块路径)

dynamic.js


function TestDy(){
    console.log("这是动态模块")
}
export default TestDy

main.js


document.querySelector('.load').onclick = function(){
    import('./dynamic.js').then((Model)=>{
        Model.default()
    })
}

以上就是如何理解JavaScript模块化的详细内容,更多关于JavaScript模块化的资料请关注编程网其它相关文章!

--结束END--

本文标题: 如何理解JavaScript模块化

本文链接: https://www.lsjlt.com/news/126039.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解JavaScript模块化
    目录1. 浏览器支持2. export 导出模块3. import 导入模块4. 创建模块对象5. export import 中转站6. 动态加载模块1. 浏览器支持 使用Java...
    99+
    2022-11-12
  • JavaScript 模块化如何理解
    这期内容当中小编将会给大家带来有关JavaScript 模块化如何理解,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言:1.概念将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并...
    99+
    2023-06-22
  • JavaScript 模块化详解
    目录前言:1.概念2.模块化的好处3.引入多个script标签后出现的问题一、CommonJS二、AMD三、CMD四、ES6模块化前言: 1.概念 将一个复杂的程序依据一...
    99+
    2022-11-12
  • 如何理解Node.js模块化
    本篇内容主要讲解“如何理解Node.js模块化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解Node.js模块化”吧!正文在Node.js中,内置了两个...
    99+
    2022-10-19
  • 如何理解JavaScript中的ES模块
    如何理解JavaScript中的ES模块,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。模块在每个编程语言中都能找到。它是一种能在一个代码块...
    99+
    2022-10-19
  • 如何理解Go语言的模块化
    本篇内容介绍了“如何理解Go语言的模块化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!环境变量学习 go 语言的第一步,当然是安装以及环境变...
    99+
    2023-06-15
  • JavaScript高级语法中的模块化怎么理解
    这篇文章将为大家详细讲解有关JavaScript高级语法中的模块化怎么理解,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是模块化?到底什么是模块化、模块...
    99+
    2022-10-19
  • python的二进制转化模块如何理解
    这篇文章将为大家详细讲解有关python的二进制转化模块如何理解,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在pyton中,通过struct模块来对二进制进行转换,主要包括两大类函数,即用...
    99+
    2023-06-22
  • webpack模块化的原理解析
    目录commonjs编译结果require 函数ES Module编译结果v5 的变化两种模块化交互编译结果总结commonjs 在webpack中既可以书写commonjs模块也可...
    99+
    2023-02-28
    webpack模块化 webpack模块化原理
  • JavaScript实现组件化和模块化方法详解
    目录组件化和模块化模块化组件化Vue中的组件化组件化和模块化 为什么会有组件化和模块化?当我们的项目复杂度不断上升,项目维护成本逐渐提高之后,对于旧项目的维护就变得格外困难。前端如果...
    99+
    2023-05-20
    JS组件化和模块化 JS组件化 JS模块化
  • JavaScript模块化开发流程分步讲解
    目录1、使用传统的全局命名空间2、使用对象的写法3、使用命名空间的写法4、使用IIFE的写法接触了Vue模块化开发才发现JavaScript组件化开发的演变一直在继续,以前也没有特别...
    99+
    2023-01-28
    JS模块化开发 JS模块化
  • 如何通过JavaScript实现组件化和模块化
    今天小编给大家分享的是如何通过JavaScript实现组件化和模块化,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。组件化和模块化为什么会有组件化和模块化?当我们的项目复杂度不断上升,...
    99+
    2023-07-06
  • 如何解决Systemjs模块化问题
    这篇文章主要介绍“如何解决Systemjs模块化问题”,在日常操作中,相信很多人在如何解决Systemjs模块化问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决Sy...
    99+
    2022-10-19
  • javascript模块化怎么使用
    这篇文章主要介绍“javascript模块化怎么使用”,在日常操作中,相信很多人在javascript模块化怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript模块化怎么使用”的疑惑有所...
    99+
    2023-07-06
  • 关于什么是javascript模块化以及为何使用模块化开发
    模块化是一种软件开发的设计模式,它将一个大型的软件系统划分成多个独立的模块,每个模块都有自己的功能和接口,并且能够与其他模块独立地工作。  先来一段八股文 模块化开发可以带...
    99+
    2023-05-15
    javascript javascript模块化
  • 详解NodeJS模块化
    目录一、前言二、正文2.1、什么是模块2.2、Resolving2.3、require.resolve2.4、模块间的父子依赖关系2.5、exports, module.export...
    99+
    2022-11-12
  • JavaScript ES6 Module模块详解
    目录0.什么是Module1.Module 的加载1.1 方式一1.2 方式二2.导出和导入2.1 一个模块的导出可以被其它模块导入,并访问。2.2 没有导出,也可以将其导入2.3 ...
    99+
    2022-11-12
  • 详解Python模块化--模块(Modules)和包(Packages)
    目录引言Python Modules模块导入模块①导入整个模块②导入模块中的特定函数③导入模块中的所有函数给导入的模块一个别名单独运行模块加速模块加载Python Packages包引用包(Package)中的模块引...
    99+
    2022-06-02
    Python Modules模块 Packages包
  • 怎么理解Node.js中node的模块化
    这篇文章主要介绍“怎么理解Node.js中node的模块化”,在日常操作中,相信很多人在怎么理解Node.js中node的模块化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • Python的类与模块化怎么理解
    这篇文章主要介绍“Python的类与模块化怎么理解”,在日常操作中,相信很多人在Python的类与模块化怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的类与模块化怎么理解”的疑惑有所帮助!...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作