RequireJS 文件合并压缩
RequireJS的define 以及require 对于我们进行简化JavaScript 开发,进行模块化的处理具有很大的帮助
但是请求加载的js 文件会有一些影响,一般的处理是对于文件进行压缩,但是requirejs 的压缩不是简单的
进行压缩就行。
RequireJS提供了一个打包压缩工具r.js来对模块进行合并压缩。r.js非常强大,不但可以压缩js,css,甚至
可以对整个项目进行打包。
使用的方法为:
1. 项目结构
文件说明:
model 中的为 定义的模块
main.js 为页面加载需要使用的
appinfo.js 内容为:
1 2 3 4 5 6 7 8 9 | define( function () { var appinfo = { name: "dalnog" , age: 22 }; return appinfo; }); |
refjs.js 内容为:
1 2 3 4 5 6 7 8 9 10 11 | define([ "model/user" ], function (user) { var myinfo = { userinfo: user }; return myinfo; }); |
user.js 内容为:
1 2 3 4 5 6 7 8 9 | define( function () { var user = { name: "dalnog" , age: 22 }; return user; }); |
index.htm 页面信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <! DOCTYPE > < html > < head > < title ></ title > </ head > < body > // 压缩的使用方法 <!-- <script data-main="dalongappinfo-built" src="Scripts/require.js" type="text/javascript"></script>--> // 默认的使用方法 < script data-main="main" src="Scripts/require.js" type="text/javascript"></ script > </ body > </ html > |
压缩的方法:
1. 安装node
2. 运行npm 安装 requirejs 自带r.js
命令为: npm install -g requirejs
3. 配置 命令文件 config.js
信息为:
1 2 3 4 5 6 7 8 9 10 | ({ baseUrl: "." , /// 文件的路径 name: "main" , /// 入口文件 就是main.js /// 实际压缩之后使用的js 文件 out: "dalongappinfo-built.js" }) |
4. 运行命令 node r.js -o config.js
之后生成对应的文件: dalongappinfo-built.js
5. 使用:
见上面的 index.htm
命令参数解析:
下面我们对命令分别来做一下解释:
-o: 表示优化,该参数是固定的,必选。
baseUrl:指存模块的根目录,可选。
name: 模块的入口文件,这里是app,那么r.js会从baseUrl+name去查找app.js,然后找出所有依赖的模块,然后进行合并与压缩。
out: 指合并压缩后输出的文件路径,这里是直接输出在根目录下build.js 我们也可以输出到其他目录下 比如js/app 目录下,也可以的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2014-06-17 转 DataTorrent 1.0每秒处理超过10亿个实时事件
2014-06-17 转 Apache Kafka:下一代分布式消息系统