我目前正在使用requirejs主要是由于其资源加载器.我喜欢它管理后备方式的方式. 我的javascript应用程序一点也不复杂,只是一些jQuery UI小部件和其他一些小的调整. 直到我开始使用requirejs之前,我什至都不知道FOUC是什么.它非常引人注目,因此目前我避免使用:var protect_from_FOUC = function(element) {if(typeof element === 'string') {element = document.querySelector(element);}element.classList.add('ui-helper-hidden')...
为了避免浏览器缓存优化的JS包,我想在请求URL上包含MD5总计.我尝试了类似的东西:<script src="lib/require.js" data-main="app/main.js?md5=ABCD"></script>但是,查询字符串的引入导致对/main.js的GET请求.也就是说,查询字符串丢失,甚至脚本也从路径中丢失. 如何强制将在data-main中指定的脚本请求加载到我计算出的哈希值中?请注意,正在生成标记,因此我可以将哈希注入到HTML文档中的任何位置.解决方法:诀窍是使用urlArgs配置设置...
在一个春季启动的应用程序中,我获得了几个webjar(基本上是jar包中的javascript,css和资源文件),所有这些都在maven pom文件中指定. pom.xml<dependencies> ...<dependency><groupId>org.webjars</groupId><artifactId>requirejs</artifactId><version>2.1.16</version></dependency><dependency><groupId>org.webjars</groupId><artifactId>angularjs</artifactId><version>${angularjs.version}</version></dependency> ... </depe...
如何为Backbone中来自集合和模型的所有请求设置默认的url /服务器? 示例集合:define(['backbone','../models/communityModel' ], function(Backbone, CommunityModel){return Backbone.Collection.extend({url: '/communities', // localhost/communities should be api.local/communitiesmodel: CommunityModel,initialize: function () {// something}}); });我进行了初始的AJAX调用,以获取包括API网址(api.local)在内的设置. ...
我有以下main.js:requirejs.config({paths: {'backbone': 'backbone-min','underscore': 'underscore-min','loader': 'loader-min'} })这个’loader-min.js’文件只是来自loader.js的优化js:define(['backbone', 'underscore'], function () { })我的HTML页面包含以下内容:<script data-main="/js/main" src="/js/require.js"></script> <script type="text/javascript">requirejs(['loader'], function(loader) {....}) </scri...
我对自耕农有问题,特别是当我试图运行咕噜声时,它在requirejs上失败,简单地说“任务’requirejs’不存在”.这真的很奇怪,因为在我的gruntfile中我有requirejs的选项定义,我也将它安装在package.json文件中.你知道可能是什么问题吗? 谢谢!// Generated on 2013-03-14 using generator-webapp 0.1.5 "use strict"; var lrSnippet = require("grunt-contrib-livereload/lib/utils").livereloadSnippet; var mountFolder = function(...
想象一下这个项目脚手架: > utils.js> module1 / controllers.js> module1 / services.js> module2 / controllers.js> module2 / services.js utils.jsdefine([], function(){ /* My utils functions */ });模块1 / controllers.jsdefine(['../utils'], function(utils){ /* Module1 stuff */ });模块2 / controllers.jsdefine(['../utils'], function(utils){ /* Module2 stuff */ });这在非优化上下文中非常有效,因为utils.j...
如果我必须利用jQuery AJAX API的细节并为每个ajax调用设置我自己的自定义设置,我的应用程序如下所示: 假设我有一个页面,通过对某些API进行ajax调用来显示表中的员工信息.define(["jQuery"], function($) {var infoTable = function (options) {function init() {// Provide success callbackoptions.success_callback = "renderData";getData();}function renderData() {// This callback function won't be called as it is not...
我在浏览器中使用RequireJS.我有一些由脚本标签加载的JS,类似于:requirejs(["jquery", "shared", function($, shared) {var foo='bar'; }我想从Chrome开发工具中的JS控制台打印’foo’的当前值.我怎样才能做到这一点? 编辑2:这个问题最初含糊不清 – 抱歉.为了澄清,我不希望停止使用RequireJS,污染全局,或事先知道我想调试什么.解决方法:在Chrome或Firebug中设置一个断点,以便在关闭时断开.然后,Foo将可用于控制台,直到您恢复脚...
我开始使用angular,我怎么能将代码从一个应用程序分解成多个文件?我看了60分钟的介绍,他们提到我可以在没有requirejs或任何其他框架的情况下执行此操作. 让我们说我有这样的东西工作得很好:var app = angular.module('app', []);app.factory('ExampleFactory', function () {var factory = {};factory.something = function(){/*some code*/}return factory; });app.controller ('ExampleCtrl', function($scope, ExampleFactory...
我想根据AMD规范创建构造函数.我发现this answer并试图遵循它.这是我最终得到的: main.jsrequirejs.config({paths: {'jquery': 'vendor/jquery-1.9.1.min','lodash': 'vendor/lodash-1.3.1.min','knockout': 'vendor/knockout-2.2.1.min','bootstrap': 'vendor/bootstrap-2.3.2.min'} });requirejs(['jquery', 'lodash', 'knockout', 'controller/categories'], function main($,_,ko, CategoriesCtrl) {var categories = new Cat...
我有很多模块.一个模块加载另一个模块,该模块加载另一个模块等等… 当然,当我加载页面时,所有这些模块都会加载.它完美地运作.没有优化器. (即使它需要一分钟,因为浏览器必须加载50件事). 当我在我的app.build.js中使用优化器时,似乎我必须手动指定每个模块! 为什么优化器无法自动遍历模块?解决方法:您只需指定要优化的模块,而不是其依赖项.来自文档:In the modules array, specify the module names that you want tooptimize, ...
我需要一些帮助,只需要在需要时使用requireJS加载模块 这是我的main.jsrequire(['jquery', 'path/somemodule'], function($, somemodule) { $(document).ready(function() {somemodule.init() })})并在somemodule.jsdefine(['jquery', 'path/someothermodule'], function ($, someothermodule) {"use strict"; var somemodule;somemodule = { init: function () {someothermodule.init() } } return somemodule; )}现在somemodule....
我正在使用RequireJS来加载依赖项.这是我的配置的样子:'use strict';require.config({paths: {jQuery: 'http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min',underscore: 'http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min',backbone: 'http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min'}shim: {jQuery: {exports: '$'},underscore: {exports: '_'},backbone: {dep...
我有两个小的Backbone插件,看起来像这样:(function($, _, Backbone) {var ListView = Backbone.View.extend({ // blablabla });Backbone.ListView = ListView;})($, _, Backbone);和(function($, _, Backbone) {var Repository = Backbone.Model.extend({ // blablabla });Backbone.Repository = Repository;})($, _, Backbone);我现在已经设置了require.config:require.config({baseUrl: "javascripts",shim: {"jquery": {expor...