我试过了:
require.config({
paths: {
jquery: '../lib/zepto/zepto-1.1.3',
"jquery.parsley": '../lib/parsley/parsley-2.0.2'
},
shim: {
'jquery.parsley': ['jquery'] // I also tried without this
}
});
define(['jquery', 'jquery.parsley'], function( $ ) {
$("#signup-form").parsley('validate'); // "signup-form" is the form id
});
但是我收到了这个错误:
TypeError: $(...).parsley is not a function
我做错了什么?你能帮我把它搞定吗? 感谢
答案 0 :(得分:0)
Parsley 2.0.2不需要shim
,因为它会调用define
。见the source:
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module depending on jQuery.
define(['jquery'], factory);
} else {
它会调用define
,因此不会shim
。你为它定义了一个shim
。使用不需要shim
的{{1}}模块加载会导致未定义的行为。
答案 1 :(得分:-1)
我遇到了同样的问题,但我发现Parsley依赖于Jquery所以在你的垫片配置中你应该写:
paths: {
"jquery" : "../libs/jquery/jquery-1.11.0.min",
"parsley" : "../libs/parsley/parsley.min",
}
shim: {
"parsley": {
"deps" : ["jquery"],
"exports" : "parsley"
}
}