在ES6模块化没出现之前, 就已经有一个前端模块化库, 叫require.js

requireJS 是使用创建 script 元素,通过指定 script 元素的 src 属性来实现加载模块的

优势是: 兼容性非常好。很多第三方js文件提供了require.js操作方式。
比如jquery.js 没提供 export 接口 , 不能写 import $ from ‘jqeury.js’

思想也是和es6模块化一样 , 解决冲突 , 解决依赖 ,兼容性更好。

es6 有工具可以给语法转换成es5

步骤:

1.解释型库, 需要按照require.js库的语法进行模块化开发
2.官网: requirejs.org
3.定义模块:
方法 define()
发送:

define(function(){var a  = 123;return a ;
})

接收 (不用写文件后缀)

define(['./a.requirejs'),function( a ){console.log(a)
}]
define(['./a.requirejs','./另一个模块']),function( a, newVal){}
define(['./a.requirejs','./jquery']),function( a, $){console.log( $ )
}

4.页面调用模块:
属性data- main

<script src="require.js" data-main="./module/b_require.js></script>

5.如何在一个模块中引入另外一个模块,提供一个对外的接口
返回值 {}
6.如何在一个模块中, 引入另外一个模块呢 ?
参数[]
7.配置:路径的问题, 已引入模块的文件路径为根目录

requirejs.config({paths:{"jquery":"jquery-3.4.1"}
})

require.js库相关推荐

  1. Javascript模块化编程(三):require.js的用法

    这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的 ...

  2. Require.js

    前言 前段时间粗略的扫过一次require.js,当时没怎么在意,结果昨天看到index里面的代码就傻了,完全不知道从哪开始看啦,所以require与backbone的学习还要加紧才行. 由于前端所占 ...

  3. babel import语法 js_搭建开发JS库的运行环境

    1.npm 首先在自定义的目录下打开终端执行 npm init : 根据对应的步骤生成相应的package.json 文件 . 2.Eslint (代码检查工具) 安装eslint:npm insta ...

  4. require.js基本认识

    基本API require会定义三个变量:define,require,requirejs,其中require === requirejs,一般使用require更简短 define 从名字就可以看出 ...

  5. require.js基本用法

    1.require.js的加载 使用require.js的第一步,是先去官方网站下载最新版本. 下载后,假定把它放在js子目录下面,就可以加载了. 1 <script src="js/ ...

  6. require.js的用法

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  7. 自己写js库,怎么支持AMD

    最近我打算把之前做项目写的一些工具集成到一个js库中,但是库既要在普通环境正常运行,又要在AMD环境下不暴露全局变量.一时间挺头疼的.随即我参考了一些现在流行的库的源码.学着写了一下,感觉还不错. 既 ...

  8. jQuery 对AMD的支持(Require.js中如何使用jQuery)

    AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案. AMD 模块格 ...

  9. require.js用法简介

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

最新文章

  1. 最简单的启动Docker实例Mesos Golang Framework
  2. 【MongoDB】Window启动和配置
  3. 进击的Android Hook 注入术《五》
  4. python画气泡图_​用Python把图做的好看点:用Matplotlib画个好看的气泡图
  5. python动态_python --动态类型
  6. 分享两个常见的搜索算法:BFS和DFS
  7. android 组件化_你曾遇到的某大厂奇葩问题:Android组件化开发,组件间的Activity页面跳转...
  8. 网络编程之 进程间的通信之管道的使用
  9. quartus仿真14:D触发器实现序列检测
  10. 图标字体化 android,Android 优化 图标文字 iconfont
  11. 八、Linux文本编辑器vim/vi
  12. windows内核驱动
  13. DotNetSkin 完美破解
  14. BES2300x笔记(4) -- TWS组对与蓝牙配对(Peer or Pair傻傻分不清)
  15. 用html和css制作九宫格,我就是要用CSS实现九宫格图
  16. reporting services报表部署错误:运行配置文件中指定的扩展时出现异常。 ---> 超过了最大请求长度。
  17. 解决D3.zoom()缩放和平移初始化时图形位置会跳跃的问题(v6版本)
  18. linux下载大文件失败,Linux下FTP/SFTP传输大文件总是失败的处理办法
  19. Android开发实例家庭理财通,基于安卓的家庭理财通
  20. Mac终端使用Linux

热门文章

  1. 技术话题(2)实时通讯RT和同步实时通讯IRT的区别
  2. OverTheWire-Bandit
  3. Android案例手册 - 定位点圆形水波纹和椭圆水波纹
  4. Python||报错:TypeError: can only join an iterable
  5. linux查看IP端口占用情况
  6. 智慧高速公路综合服务平台规划方案(附下载)
  7. android字体中间横线,Android TextView(EditView)文字底部或者中间 加横线
  8. cn2an:中文数字转阿拉伯数字
  9. mysql加锁分析 何登成_何登成的技术博客 ? MySQL 加锁处理分析
  10. 论文趋势分析——数据理解与分析