- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
RequireJS docs假设要支持旧版本的 IE,需要配置 enforceDefine: true
。
So if you want to support Internet Explorer, catch load errors, and have modular code either through direct define() calls or shim config, always set enforceDefine to be true. See the next section for an example.
NOTE: If you do set enforceDefine: true, and you use data-main="" to load your main JS module, then that main JS module must call define() instead of require() to load the code it needs. The main JS module can still call require/requirejs to set config values, but for loading modules it should use define().
由于 Twitter Bootstrap 不是 AMD 模块,因此我需要对其进行填充才能正常工作。这就是我的配置方式;
<script type="text/javascript">
var require = {
paths: {
"bootstrap": "../bootstrap",
"jquery": "../jquery-1.8.2"
},
shim: {
"bootstrap": ["jquery"]
},
enforceDefine: true
};
</script>
后来当我的模块想要 bootstrap 作为依赖项时,我仍然会收到错误消息;
Error: No define call for bootstrap
http://requirejs.org/docs/errors.html#nodefine
如果我正确理解了文档,enforceDefine
应该忽略填充程序,但事实并非如此。
我在这里做错了什么?
最佳答案
根据文档,如果“脚本是 shim 配置的一部分,该配置指定了可以检查加载的全局字符串属性,并且检查失败。”,则会引发错误。
要解决此问题,您需要在 shim 配置中添加导出值,以便 RequireJS 可以检查脚本是否已成功加载。对于 Bootstrap,这有点棘手,因为 Bootstrap 不会“导出”属性全局变量,只有一堆 jquery 插件,但您可以使用这些插件中的任何一个作为导出值,例如$.fn.popover
:
{
paths: {
"bootstrap": "../bootstrap",
"jquery": "../jquery-1.8.2"
},
shim: {
"bootstrap": {
deps: ["jquery"],
exports: "$.fn.popover"
}
},
enforceDefine: true
}
关于twitter-bootstrap - RequireJS 的 Shim Twitter Bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377373/
我正在尝试使用更新的包重建项目但遇到此错误: [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
我是一名优秀的程序员,十分优秀!