在进行seajs编码的时候,遇到很到js库都不是使用cmd规范进行编码的。这时怎么办呢?当然是改写喽
第一是:jQuery了,版本jquery-1.8.1.js(不同的版本有不同的改法)
//查询到define,将那边的if语句替换成如下格式,O啦 if ( typeof define === "function" && define.cmd) { define( function () { return jQuery; } ); }
第二是:H5的音频库,版本buzz-1.1.8.js
//查询到define,将附近的语句替换成如下代码 if (typeof module !== "undefined" && module.exports) { module.exports = factory(); } else if (typeof define === "function" && define.cmd) { define(factory); } else { context.buzz = factory(); }
第三是:SVG图片库,版本Raphael-2.1.2.js
// AMD support,稍微复杂一点,查询到此处替换成如下代码 if (typeof define === "function" && define.cmd) { // Define as an anonymous module define(function(require, exports, module) { var eve = require("eve"); return factory(glob, eve); }); } else { // Browser globals (glob is window) // Raphael adds itself to window factory(glob, glob.eve || (typeof require == "function" && require('eve')) ); }
好了,以上就是今天介绍的三个js的cmd改写方法,其他的以后再说
下面简单说一下如何使用
step1,:这是index.html代码
<!DOCTYPE HTML> <html> <head> <title>timeline脚本</title> <script type="text/javascript" src="sea.js"></script> <script type="text/javascript"> seajs.config({ alias:{ 'jQuery': 'lib/jquery-1.8.1.js', 'Raphael': 'lib/raphael.js', 'Buzz': 'buzz.js' } }); seajs.use(['jQuery','Buzz','Raphael','main'], function($, Buzz, Raphael,main){ $(function(){ main.start(); }); }); </script> </head> <body> <canvas id="myview">您的浏览器不支持,请更换现代浏览器</canvas> <button id="mybutton">click</button> <div id="timer"></div> </body> </html>
step2:这里是main.js脚本,程序的入口
define("main",function(require, exports, module){ var timeline = require("timeline"); var $ = require("jQuery"); var buzz = require("Buzz"); var raphael = require("Raphael"); exports.start = function(){ var mybutton = $('#mybutton'); mybutton.click(function(){ alert(123); }); // 在坐标(10,50)创建宽320,高200的画布 var paper = Raphael(10, 50, 320, 200); // 在坐标(x = 50, y = 40)绘制半径为 10 的圆 var circle = paper.circle(50, 40, 200); // 给绘制的圆圈填充红色 (#f00) circle.attr("fill", "#f00"); // 设置画笔(stroke)的颜色为白色 circle.attr("stroke", "#317"); var mySound = new buzz.sound( "sound/start", { formats: [ "ogg", "mp3", "acc" ] }); mySound.play(); }; });
step3:其他的就是一些脚本库了,自己看情况添加,仅作练习使用。附件中有我上传的一些源码,直接运行index.html就可以听见声音,看见效果。音效可能稍微有点恐怖,O(∩_∩)O哈哈~
相关推荐
linux搭建stm32开发环境,所必须的文件 对stm32固件库的改写
ArcGIS For JS 改写的热力图,根据arcgis for javascript API改写的热力图js文件
将函数cvvHist1D改写成用折线方式绘制直方图。方法是将线段方式中每条线段的上端点连接起来。
javascript将异步校验表单改写为同步表单.docx
RSA加密脚本 JavaScript 参考:Blackberry10 使用js+HTML5开发 RSA加密解密时遇到的问题:BB10端使用js加密与解密, 服务器端使用加密与解密 1,加密非常的简单代码机会上没怎么修改,另外js加密可能出现的问题在BB10 ...
TI公司F28035的标准例程,包括了普通功能配置和CLA编程例程
洪水狂奔而来.改写成拟人句.docx
C语言,将一个递归程序用栈改写为非递归,其中用到栈的基本操作
这部分知识常用于对一些复杂需求的实现及优化改写。最后两章介绍日常的优化改写案例。这部分是前面所学知识的扩展应用。, 如果您是开发人员,经常与Oracle打交道,那么《Oracle查询优化改写技巧与案例》可以帮助您...
这部分知识常用于对一些复杂需求的实现及优化改写。最后两章介绍日常的优化改写案例。这部分是前面所学知识的扩展应用。, 如果您是开发人员,经常与Oracle打交道,那么《Oracle查询优化改写技巧与案例》可以帮助您...
把大智慧或飞狐指标改写成通达信编译常常遇到的问题
1.软件的主要功能:可以将通达信主附图指标源码,一键自动化改写成选股指标,预警指标,可以省去了大量的手动人工改写操作,只需要你写一个选股表达式,就直接可以用程序代码去帮你操作,得到同样的结果。...
FOc矢量控制学习代码,基于ST电机库改写,有一定的学习参考价值
把蜡烛改写成消息.docx
oracle ebs 11i总帐、应收、应付、库存、采购、固定资产、项目会计模块表
js 逆向实战之webpack 改写
可以解析国外地址名称
自己实现了个节点的复制粘贴功能,另外把一些快捷键改写了,编辑改成 <空格> 插入子节点改为 。还将输入框改为div版 ,可根据输入内容长度自动变化