- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 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/
我正在尝试使用更新的包重建项目但遇到此错误: [folatt@ArkOS-Dev genesis]$ ember build cleaning up... Build failed. The Broc
我正在尝试使用更新的包重建项目但遇到此错误: [folatt@ArkOS-Dev genesis]$ ember build cleaning up... Build failed. The Broc
鉴于以下情况: main.js var angular = require('angular'); 包.json { "main": "./main.js", "browser": {
我正在编写将一些数据放入分类帐的链码,然后尝试使用shim.GetStateByPartialCompositeKey()将其列出,并从迭代器中获取数据列表。现在,我想根据时间戳对数据进行排序(仅按日
我想为通用方法创建一个垫片。但在那种情况下,我对 Generic 有点麻烦。 这是我的例子: class BaseRepository where T: Entity { public T[
如主题所示。我的文件结构是: js/ |- bootstrap | |- module1 | |- module2 | |- jquery.min.js |- main.js 我的
该术语的官方解释是 es5-shim.js and es5-shim.min.js monkey-patch a JavaScript context to contain all EcmaScrip
它has been stated那: The shim allows for daemonless containers. It basically sits as the parent of the
据我了解,您可以使用 Requirejs 的填充程序来动态加载未在自己的文件中定义为模块的脚本。那么为什么我不能让这样一个简单的脚本工作呢? 这是我的非工作示例: /libs/test.js: var
我想将 bootstrap.js 和 jquery.js(均随 npm 安装)合并到vendors.js 文件中,但仍然可以通过调用 require('$') 来使用 jquery。所以我创建了 gu
我正在尝试获取与 magento 2 requirejs 一起使用的常量联系人脚本。 (我尝试将其内联添加,但它会发生冲突并导致错误) 他们的脚本需要数组 localizedErrMap 和 jQue
我发现自己需要这样的东西: // This could just as well be a concrete class. // // It is an interface for the sake
我正在尝试将现有应用程序分解为多个模块。我选择使用 Browserify 来做到这一点,因为它的语法很好地模仿了 NodeJS 的要求。 我的项目依赖于几个外部模块,其中之一是 Backbone。因此
我想将两个变量($ 和 jQuery)从 jquery 包传递到 persian-datepicker。因此,我添加了 $ 和 jQuery 作为 persian-datepicker 的依赖项。我所
我在 browserify-shim 和 bootstrap-datetimepicker 方面遇到问题。 Bootstrap-datetimepicker 需要 moment.js 但必须先加载此插
我想针对某些错误的网络行为测试存储库。我使用 MS Fakes 伪造了类(class),它看起来像这样: ShimInputRepository .AllInstanc
我在 vs 2015 上运行 angularjs2/TypeScript 项目 并按照 https://www.typescriptlang.org/docs/handbook/asp-net-4.h
我有一个测试方法,当我运行它时它很好,但在调试时失败并出现异常。下面是经过测试的方法和 VS Test Runner 的输出。异常来自 ShimsContext.Create() 信息:VS 2012
在为 BCL(或与此相关的任何库)中的类型成员创建垫片时。我们经常遇到这样一种情况,我们想要调用我们已经覆盖的原始方法(无论是在 shim 委托(delegate)内部还是外部)。例如: System
在 Visual Studio 2015 中,我有一个测试项目,我向其中添加了一个假程序集。 在单元测试本身中,我为静态泛型方法创建了一个垫片,该方法将实例返回到泛型类型,例如: using (Shi
我是一名优秀的程序员,十分优秀!