requireJs :官网
requireJS定义
RequireJS是一个JavaScript文件和模块加载程序。它针对浏览器内使用进行了优化,但也可以用于其他JavaScript环境,如Rhino和Node。使用像RequireJS这样的模块化脚本加载程序将提高代码的速度和质量
场景
requireJS 属于AMD(异步模块加载类),通过异步方式加载网页脚本, 避免页面渲染。今天要说的是requirejs异步加载我们的jquery。
通常我们使用jquery,都是在网页头部或body标记引入库文件。这种方式很局限。jquery库文件动不动就是上万行,放头部很容易导致阻塞。时下框架势行,都是讲的啥模块化开发。比如SPA开发中,啥三方库,插件都是通过 es6模块或者commonJS引用。接着通过流行的前端资源打包工具,像webpack, gulp,browserfy. 打包压缩。最后由工具本身帮我们注入资源到网页中,而不在是手动显示的引用。
实列演示
下面通过一段实列,演示requireJS 的使用
demo结构
require directory
+lib 库文件
+ jquery
+ require.js
+src 自己的代码
+app.js 配置文件
+mian.js 入口文件
+index.html
ONE:
首先在index.html引入我们的工具库,然后为 script指定一个 data-main属性,值为 入口主数据文件 main.j所在位置路径
<script data-mian = "src/app.js" src="./src/require.js"></script>
注意 必须指定data-main。告知requirejs程序入口。 默认requirejs会把目录中所有依赖认作 脚本,因此在上面 data-main脚本指定可以去掉.js后缀。
SECONDS
通常 requirejs加载相对baseUrl脚本, 我们可以通过requirejs.config 配置baseurl + path, 明确所加载脚本位置
// app.js
requirejs.config({
baseUrl: '/lib',
paths: {
'main': '../src' //paths指路径 相对于 baseUrl, 所以这里为 ../src
}
})
//指定jquery模块ID, 引用上面baseURL 配置路径下的 脚本,
requirejs(['jquery'], ($) => {
console.dir($)
})
结果
现在全局环境下,已经绑定上query $了。
至此,requirejs基本使用,已经介绍完毕。具体可以参照官网学习。不足之处,欢迎指正。