twitter-bootstrap – Shim Twitter Bootstrap for RequireJS
RequireJS
docs说,要支持旧版本的IE,您需要配置enforceDefine:true。
由于Twitter Bootstrap不是AMD模块,我需要对它进行填充以使其工作。 <script type="text/javascript"> var require = { paths: { "bootstrap": "../bootstrap","jquery": "../jquery-1.8.2" },shim: { "bootstrap": ["jquery"] },enforceDefine: true }; </script> 后来当我的模块需要引导作为依赖,我仍然最终得到一个错误消息; Error: No define call for bootstrap http://requirejs.org/docs/errors.html#nodefine 如果我已正确理解文档,enforDefines应忽略垫片,但它不是。 我在这里做错了什么? 解决方法
根据文档,如果“脚本是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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |