我的编程空间,编程开发者的网络收藏夹
学习永远不晚

javascript模块化怎么使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

javascript模块化怎么使用

这篇文章主要介绍“javascript模块化怎么使用”,在日常操作中,相信很多人在javascript模块化怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript模块化怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

模块化是一种软件开发的设计模式,它将一个大型的软件系统划分成多个独立的模块,每个模块都有自己的功能和接口,并且能够与其他模块独立地工作。

 先来一段八股文

模块化开发可以带来以下好处:

  • 提高代码的复用性:模块化可以将代码划分成可重用的部分,降低代码的冗余和重复,提高代码的复用性。

  • 简化代码的维护和调试:当一个软件系统变得越来越复杂时,进行模块化开发可以使得每个模块都相对独立,这样就可以方便地维护和调试每个模块,而不必考虑整个系统的复杂性。

  • 提高代码的可读性:模块化可以使得代码更加结构化,清晰明了,从而提高代码的可读性和可维护性。

  • 提高开发效率:模块化开发可以使得团队成员在不同模块上并行开发,从而提高开发效率。

  • 降低项目的风险:模块化开发可以使得开发人员更加关注模块之间的接口和依赖关系,从而降低项目的风险。

总之,模块化开发是一种有效的软件开发模式,可以提高软件开发的质量、效率和可维护性,特别是在大型软件系统的开发中,模块化更是必不可少的。

实际工作中如何使用

场景一:在前后端交互的ajax请求中,对不同的请求进行分类,每一个种类的业务放到一个模块中,有用户相关的、商品列表相关的、订单相关的各种,为了使业务逻辑更加清晰,更改相关代码的时候,只需要找到对应的文件,用户相关的就去user.js修改,商品相关的就去goods.js修改等等,是不是清楚多了,这是不是好用多了?

来看看示例user.js

import axios from '../utils/request'import md5 from 'md5' // 登录export const login = async (params)=>{  let {data} = await axios.post('users/login',{params})  if(data.success){    // 在浏览器缓存中存储token    sessionStorage.setItem('token',data.token)  }  return data}// 修改密码export const resetPwd = async (params)=>{  // 要对密码加密  let {data} = await axios.post('users/resetPwd',params)  return data}//...other business

示例,goods.js

export const getDetail = async (id)=> {  let {data} =  axios.get(`/goods/detail/${id}`);  return data} export const getCategory = async () =>{  let {data} =  axios.get('/categories');  return data} export const search = (params) =>{  let {data} =  axios.get('/search', { params });  return data}

每个js(模块)都有自己的相关的代码,代码之间互不影响。

如下代码所示,所有的请求都放到一个文件中,不分模块

import axios from '../utils/request'import md5 from 'md5' // 登录export const login = async (params)=>{  let {data} = await axios.post('users/login',{params})  if(data.success){    // 在浏览器缓存中存储token    sessionStorage.setItem('token',data.token)  }  return data}//查询商品export const search = (params) =>{  let {data} =  axios.get('/search', { params });  return data} // 修改密码export const resetPwd = async (params)=>{  // 要对密码加密  let {data} = await axios.post('users/resetPwd',params)  return data}//商品详情export const getDetail = async (id)=> {  let {data} =  axios.get(`/goods/detail/${id}`);  return data}//获取商品分类export const getCategory = async () =>{  let {data} =  axios.get('/categories');  return data} //...other business

是不是很乱,这只是一点点业务,如果大一点业务系统,里面有百十个接口,如果不能按照模块划分,代码就会是一座屎山,多人协作会出问题、代码维护无从下手

场景二:大家都知道单页面应用程序,他的最大优势就是不用切换页面,对用户体验极好。例如vue常见的页面是头、尾、菜单不动,只有内容区域动,在dom中扣去一块旧的,换一块新的,这样看来,每一块都应该是独立存在的,也就是咱们常见的.vue文件,使用webpack将.vue文件转为.js文件,这个js就是一个模块化的文件,通过路由把页面和名字进行关联,扣掉和换上新的都需要操作路由来完成

总结一下,模块化其实就是分门别类。

 附加几种模块化语法

不管哪种语法,只是一种固定的写法,重点了解两个概念,一个导出(暴露当前模块),一个导入(用那个模块)

1. CommonJS

CommonJS 是一种用于服务器端 JavaScript 的模块化规范,使用 require 和 module.exports 导出和引入模块。例如:

// math.jsconst add = (a, b) => a + b;const subtract = (a, b) => a - b;const hello = () => '千锋,你好'; module.exports = {  add,  subtract,  hello}; // app.jsconst math = require('./math'); console.log(math.add(2, 3)); // 输出 5console.log(math.subtract(3, 2)); // 输出 1console.log(math.hello); // 输出千锋,你好

2. AMD

AMD(Asynchronous Module Definition,异步模块定义)是用于浏览器端 JavaScript 的模块化规范,使用 define 定义模块,通过 require 异步加载模块。例如:

// math.js//define第一个参数表示当前模块所依赖的模块,可以是一个字符串数组,也可以是一个函数// 定义一个名为 "math" 的模块,依赖于 "jquery" 和 "underscore" 两个模块define(['jquery', 'underscore'], function($, _) {  // 定义模块的功能  const add = function(a, b) {    return a + b;  };  const multiply = function(a, b) {    return a * b;  };  const test = ()=>{    var arr = ['foo', 'bar', 'qfedu'];    var arrUpper = _.map(arr, function(str) {      return str.toUpperCase();    });    return  arrUpper;  }    // 导出模块的功能  return {    add: add,    multiply: multiply,    test:test  };});// app.jsrequire(['./math'], function(math) {  console.log(math.add(2, 3)); // 输出 5  console.log(math.subtract(3, 2)); // 输出 1  console.log(math.test())//输出 ["FOO", "BAR", "QFEDU"]});

3. ES6 模块

ES6 模块是 JavaScript 的官方模块化规范,使用 import 和 export 导入和导出模块。例如:

// math.jsexport const add = (a, b) => a + b;export const subtract = (a, b) => a - b; // app.jsimport { add, subtract } from './math'; console.log(add(2, 3)); // 输出 5console.log(subtract(3, 2)); // 输出 1

4. UMD

UMD(Universal Module Definition,通用模块定义)是一种支持多种模块化规范的通用模块化方案,它既支持 CommonJS,又支持 AMD 和全局变量。例如:

(function (root, factory) {  if (typeof define === 'function' && define.amd) {    define(['exports'], factory);  } else if (typeof module === 'object' && module.exports) {    factory(module.exports);  } else {    factory((root.myModule = {}));  }}(typeof self !== 'undefined' ? self : this, function (exports) {  const add = (a, b) => a + b;  const subtract = (a, b) => a - b;   exports.add = add;  exports.subtract = subtract;}));

到此,关于“javascript模块化怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

javascript模块化怎么使用

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

下载Word文档

猜你喜欢

javascript模块化怎么使用

这篇文章主要介绍“javascript模块化怎么使用”,在日常操作中,相信很多人在javascript模块化怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript模块化怎么使用”的疑惑有所
2023-07-06

关于什么是javascript模块化以及为何使用模块化开发

这篇文章主要介绍了关于什么是javascript模块化以及为何使用模块化开发,模块化是一种软件开发的设计模式,它将一个大型的软件系统划分成多个独立的模块,每个模块都有自己的功能和接口,需要的朋友可以参考下
2023-05-15

javascript闭包的模块化怎么做

本篇内容主要讲解“javascript闭包的模块化怎么做”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript闭包的模块化怎么做”吧!说明1、闭包的重要使用是模块化,它可以将成员变量
2023-06-20

JavaScript模块化的作用是什么

JavaScript模块化的作用是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好
2023-06-14

JavaScript模块化实战:一步步教你打造模块化应用

: JavaScript模块化是指将代码组织成独立的模块,使代码更易于维护和复用。本文将详细介绍如何使用CommonJS、AMD和ES6模块化规范来实现模块化开发,并提供一些实战技巧和建议,帮助您打造模块化应用。
JavaScript模块化实战:一步步教你打造模块化应用
2024-02-26

ES6 模块的实战运用:构建模块化的 JavaScript 应用

ES6 模块提供了一种将 JavaScript 代码组织成模块化单元的方式,从而提高了应用程序的可维护性和可重用性。本文将深入探讨 ES6 模块的实战运用,并通过示例代码展示如何构建模块化的 JavaScript 应用。
ES6 模块的实战运用:构建模块化的 JavaScript 应用
2024-03-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录