我试图加载需要jquery才能工作的插件jquery.countdown
我在init类上调用插件时遇到此错误:
获取http://localhost:3008/js/jquery.js 404(未找到)
require.js:166 Uncaught Error:脚本错误:jquery(...)
这是我的首发代码:
define(function (require) {
var commons = require('commons'),
core = require('core/core_library'),
$ = require('vendor/jquery'),
ButtonStatus = require('module-pf/ButtonStatus'),
Archive = require('module-pf/Archive'),
Countdown = require('appvendor/jquerycountdown');
});
所以我开始调查。首先,jquery.countdown库正确加载,如调试所示:
所以我猜测require
并不知道这些库的加载顺序。经过一些研究,我发现你可以嵌套依赖关系来订购它们:
define(['commons'], function () {
require(['vendor/jquery'], function (commons) {
//Added this for testing by calling jquerycountdown internal funcionality
require(['appvendor/jquerycountdown'], function (inyectedCountdown) {
$('#timer').countdown('2020/10/10', function (event) {
$(this).html(event.strftime('%D days %H:%M:%S'));
});
});
});
});
但我仍然得到同样的错误。我不知道发生了什么,也许是不兼容的jquery版本?我手动添加了该库。 Jquery在我的项目中正常工作,但它正在加载两个实例,一个位于js / jquery(404),第二个位于vendor / js / jquery(200)。
答案 0 :(得分:0)
这就是我解决它的方法:
在jquerycountdown
库中,我们找到了一个调用jquery的定义:
define([ "jquery" ], factory);
所以我刚刚添加了vendor/jquery
。