gpt4 book ai didi

javascript - jQuery 插件的 RequireJS shim 路径

转载 作者:行者123 更新时间:2023-11-29 14:54:38 25 4
gpt4 key购买 nike

我是 RequireJS 的新手,我正在尝试使用 shim 技术加载插件。理想情况下,我也希望将插件保存在不同的目录中。

无论我做什么,我都会收到脚本错误(即使插件位于基本目录中。)这是我的 RequireJS 配置。 picker.date.min 需要 picker.min

require.config({
baseUrl: '/js',
paths: {
jquery: 'vendor/jquery/jquery-2.0.3.min',
pickadate: 'vendor/pickadate/picker.min',
pickadatedate: 'vendor/pickadate/picker.date.min'
},
shim: {
jquery: {
exports: '$'
},
pickadate: ['jquery'],
pickadatedate: ['jquery', 'pickadate']
}
});

这是我在我的页面上使用的脚本

require(['jquery', 'pickadate', 'pickadatedate'], function($) {

$('#start_date').pickadate();

});

我得到的错误是:获取 http://domain.com/js/pickadate.js 500(内部服务器错误)require-jquery.js:1854 Uncaught Error :脚本错误

有人能帮忙吗?

最佳答案

jquery 已经与 AMD 兼容,因此您不需要 shim。 pickadatedate 也不需要依赖于 jquery,因为它已经暗示依赖于 pickadate。你 shim 可以简化为:

shim: {
pickadate: ['jquery'],
pickadatedate: ['pickadate']
}

但是,此更改不会解决您的问题。您提到的错误实际上通常不是由缺少脚本引起的。如果 requirejs 无法找到脚本,那么您还会在控制台中看到 404 GET 请求(在 Chrome 中使用 Ctrl + Shift + I)。如果您没有看到 404 GET,那么缺少脚本可能不是问题。

您提到的错误通常意味着一个或多个脚本存在某种无法被 JavaScript 解释器加载的语法错误。也就是说,requirejs 确实找到了脚本,但是当它尝试加载它时,由于编译或运行时问题而失败了。

找出罪魁祸首脚本的最​​佳方法是启动开发工具,例如 Chrome 中可用的工具,然后查看异常点和异常中设置的值以及它周围的任何变量。如果您没有看到它,那么打开错误中断(参见 JavaScript: Is there a way to get Chrome to break on all errors? )。这将导致 Chrome 调试器在错误发生时立即中断。如果错误不是脚本错误,则继续,直到您在上述错误处停止。

通常当我遇到上述错误时,我只是查看我最后输入的代码,我通常会发现一些语法错误(顺便说一句,我强烈推荐 "use strict"; 和 jslint 来检测这甚至更快。

关于javascript - jQuery 插件的 RequireJS shim 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com