RequireJS shim paths for jQuery Plugin
RequireJS shim paths for jQuery Plugin
我是RequireJS的新手,我正在尝试使用填充技术加载插件。理想情况下,我也想将插件保存在不同的目录中。
无论我做什么,我都会收到脚本错误(即使插件在基目录中)。这是我的 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();
});
我得到的错误是:GET http://domain.com/js/pickadate.js 500 (内部服务器错误) require-jquery.js:1854未捕获错误:脚本错误
谁能帮忙?
jquery已经兼容AMD了,所以你不需要垫片。此外,pickadatedate 不需要依赖于 jquery,因为它已经暗示依赖于 pickadate。您的填充程序可以简化为:
shim: {
pickadate: ['jquery'],
pickadatedate: ['pickadate']
}
但是,此更改不会解决您的问题。您提到的错误实际上通常不是由缺少脚本引起的。如果requirejs无法找到脚本,那么您还将在控制台中看到404个GET请求(在Chrome中使用Ctrl + Shift + I)。如果您没有看到 404 GET,则可能不是缺少脚本的问题。
您提到的错误通常意味着一个或多个脚本存在某种语法错误,无法通过 JavaScript 解释器加载。也就是说,requirejs 确实找到了脚本,但是当它尝试加载它时,由于编译或运行时问题而失败。
找出罪魁祸首脚本的最佳方法是启动开发工具,例如Chrome中可用的工具,并查看异常点和异常中设置的值以及周围的任何变量。如果您没有看到它,请打开"错误中断"(请参阅 JavaScript:有没有办法让 Chrome 中断所有错误?)。这将导致Chrome调试器在发生错误后立即中断。如果错误不是脚本错误,则继续,直到在上述错误处停止。
通常,当我遇到上述错误时,我只查看我键入的最后一个代码,我通常会发现一些语法错误(顺便说一句,我强烈建议使用 "use strict";
和 jslint 来更快地检测到这一点。
你现在一定已经解决了这个问题,但对于来到这里的其他人来说,问题是你的路径。尝试使用相对路径,我遇到了同样的问题,这为我解决了它。像这样:
paths: {
jquery: '../vendor/jquery/jquery-2.0.3.min',
pickadate: '../vendor/pickadate/picker.min',
pickadatedate: '../vendor/pickadate/picker.date.min'
},
- jquery plugin(Impromptu)
- jquery-plugin-1配置设置从另一个配置设置获取值
- Scrollsnap JQuery Plugin
- RequireJS and jQuery plugin
- jquery plugin imgpreload
- Chart.js jQuery Plugin
- RequireJS shim paths for jQuery Plugin
- Struts 2 jquery plugin javascript error
- jQuery Plugin this.attr("id") undefined
- Qn on jquery plugin (.scrollPagination)
- Line jQuery plugin
- jquery plugin codaslider
- OOP jQuery Plugin elem undefined in one place and not in oth
- showModalDialog jquery plugin
- jQuery plugin, shake ..
- jQuery plugin quickPager Next/Prev Links
- AngularJS with jQuery Plugin
- jQuery(. .).Plugin不是一个函数,因为js文件没有加载
- Javascript/ jQuery plugin
- AngularJS $http with jQuery plugin (Mixitup)