requirejs加载jquery插件的问题
我写的模块简目录
/index.html
/vendor/jquery.js
/vendor/hl.js
/vendor/require.js
/js/index.js
其中 hl扩展了jquery 的$.getUrlPrameter() 方法
index.js是 index.html的业务逻辑模块 index.js中需要调用$.getUrlPrameter()
1. /vendor/jquery.js
2. /vendor/hl.js (为jquery扩展了一个$.getUrlParameter方法)
(function(factory) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
factory(require("jquery"));
else if (typeof define == "function" && define.amd)// AMD
define(["jquery"], factory);
else
(this || window).HL = factory();
})(function($) {
$.getUrlParameter = function(parameterName){
//获取url参数值
var reg = new RegExp("(^|&)" + parameterName + "=([^&]*)(&|$)", "i");
var arr = location.search.substr(1).match(reg);
if (arr)
return arr[2];
else
return null;
}
})
3. /js/index.js 入口文件 想要在这个文件中使用2中的扩展方法$.getUrlParameter
define(function(require){
var $ = require('../vendor/jquery');
var HL = require('../vendor/hl');
function init(){
alert($.getUrlParameter('v'))
};
return {
init:init
}
})
4./index.html 入口html文件
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<script src="vendor/requirejs/require.js"></script>
<script>
require.config({
paths: {
"jquery": "vendor/jquery",
"hl":"vendor/hl"
}
});
require(['jquery','hl','./js/index'],function($,hl,m){
m.init();
})
</script>
</body>
</html>
请问我这错在哪里了?为何在index.js中没能初始化
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的index.js里
你在config里的path配置过模块id了 导致两个两个名字指向一个文件
参考 这个错误的第三条
http://requirejs.org/docs/errors.html#timeout