




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Seajs模块打包压缩-基于Spm3.6.11一环境准备21.1操作系统21.2 Nodejs21.3 SPM21.4 SPM-SEA4二 配置与执行52.1 SPM构建打包52.1.1 备份文件52.1.2 构建配置52.1.3代码调整为适应打包格式62.1.4 spm构建82.1.5 测试运行82.2 SPM-sea 构建打包102.2.1 修改package.json102.2.2 修改代码适应spm-sea打包102.2.3 执行spm-sea构建112.2.4 测试运行11一环境准备1.1操作系统Windows8.1(windows系列步骤相同)1.2 NodejsNodejs 4.2.1(当前发布的最高版本)到nodejs官网主页下载最新版本的nodejs,默认安装即可。安装确认:打开CMD,执行node -v 出现node版本代表安装成功。1.3 SPM最新的spm打包工具会将模块打包压缩为传统的js文件格式,不用seajs进行模块加载。若要保持commonjs格式需使用spm-sea工具打包。以管理员身份打开CMD 执行 npm install spm -g出现warn提示可忽略,出现err根据提示重新进行操作。安装过程10分钟左右,安装后运行spm help,出现命令提示代表安装成功。1.4 SPM-SEA将模块打包为commonjs格式使用的工具。安装命令同spm一样简单。以管理员身份运行CMD执行nmp install spm-sea -g二 配置与执行2.1 SPM构建打包2.1.1 备份文件为保证开发代码的完整,将需要打包的js文件复制到新建的文件夹中。此处新建spmweb文件夹,将index和modules两个文件夹拷贝到文件夹下。2.1.2 构建配置在spmweb下建立配置文件package.json (必须这样命名)。Spmweb下的目录结构如下。(Dist为构建过程中自动生成)编辑package.json。配置说明可查看官方文档中文版 name: cweb, version: 1.0.0, description: build with seajs, spm: main: ./index/main.js , licenses: type: MIT, url: /LICENSE.md 2.1.3编辑代码适应打包格式 2.1.3代码调整为适应打包格式将所有require()函数中的别名调用改为相对路径调用。修改前用的是index.jsp配置的别名调用,如下:修改后直接使用相对路径调用,如下:2.1.4 spm构建打开CMD切换到spmweb目录下执行spm build在spmweb文件下多出了dist文件夹 dist/cweb/1.0.0/index路径下的main.js就是打包压缩出来的文件。将文件改名为main.min.js。新建一个main.js,将main.min.js内代码格式化后写入main.js方便测试时寻找错误行。2.1.5 测试运行将构建生成的dist文件拷贝进项目工程下Spm打包后的文件使用的是传统方式,所以不需要引入seajs。将index.jsp页面代码修改只引入socket.js和main.js运行查看效果Spm打包压缩后的文件使用传统方式,不破坏开发时使用模块化js的特性,保持了可维护性。但运行时失去了seajs异步懒加载的支持。测试几个基本功能可用,测试未覆盖所有功能。2.2 SPM-sea 构建打包2.2.1 修改package.json为了将两次打包的文件区别开,将package.json中的name改为spmsea name: spmsea, version: 1.0.0, description: build with seajs, spm: main: ./index/main.js , licenses: type: MIT, url: /LICENSE.md 2.2.2 修改代码适应spm-sea打包Spm-sea构建时会自动将所有要打包的js包裹为Modules/Transport规范define(id,des,function(a,b,c)。所以我们项目代码中CMD规范的包裹define(function(a,b,c)必须注释掉。Require调用依然是相对路径2.2.3 执行spm-sea构建打开CMD切换到spmweb路径下执行spm-sea2.2.4 测试运行将打包生成的dist文件夹拷贝到项目工程中,同样建立一个main.js存放格式化的js代码。修改index.js代码CMD规范中一个模块就是一个文件,打包后多个模块都在一个文件中,将必须根据id来use入口模块。Seajs中use和require的匹配规则都是以路径为匹配,所以必须保证入口模块的id就是打包后文件的路径。若不是将用别名来统一。运行项目发现报错调试发现是jquery对象没有正确返回,调整main.js,在jquery模块后返回$。重新运行,报出新的错误明显jsrender模块没形参,加之。再次运行成功数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河池市宜州区特岗教师招聘笔试真题2024
- 2024年新疆地方金融监督管理局下属事业单位真题
- 石大学前儿童保育学课件5-2提高保教活动质量促进幼儿健康发展
- 2025年社区工作者理论试题
- MoS2-MXene@CNTs-nZVI活化过硫酸盐去除水中二嗪农的研究
- 基于深度学习的乳腺影像分割-洞察阐释
- 促进体育文化与全民健身服务的融合发展
- 绿色园区社会责任与企业形象塑造
- 深化产学研合作加速技术应用转化
- 家庭教育服务与社区互动的优化策略
- T/CWPIA 2-2020户外重组竹地板铺装技术规范
- 2025年英语四级考试模拟试卷及答案
- 护理伦理实践路径分析
- 养老消防安全试题及答案
- 2025年下半年北京大兴区地震局招聘临时辅助用工拟聘用人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025新版保安员考试试题附含答案
- 医疗健康产业的中医师承人才培养模式
- 养牛场项目可行性研究报告
- 宇宙起源与演化历史探讨
- 广东中考:地理必考知识点
- 马家滩镇杨家圈湾村滩羊生态牧场基础设施建设项目报告书
评论
0/150
提交评论