草庐IT

requirejs-optimizer

全部标签

javascript - RequireJS:多个 main.js?

我一直在使用requireJS构建一个单页应用程序,到目前为止我很喜欢它。我已经到了要在主应用程序之外开发网站的其他部分的地步,但我不确定如何(或是否)为此使用requireJS。在我的主应用程序中,一切都由这个脚本标签触发:我现在正在开发主页,它有自己的前端脚本。在网站上线时使用优化器,它将所有这些脚本捆绑到一个main.js包中。我正在努力了解我网站的其余部分在哪里适合这个。假设我的应用程序依赖于jQuery,并且它被捆绑在应用程序的优化版本中,如果我想在主页上使用jQuery怎么办?我不想加载我的应用程序的main.js只是为了访问我的jQuery模块。所以是的......有点困

javascript - 使用 RequireJS 2.0.1 和 shim 加载 jQuery、Underscore 和 Backbone

我正在尝试使用RequireJS2.0.1。我的目标是正确加载jQuery、Underscore和Backbone。来自原文RequireJSdoc我发现作者J.Burke添加(到这个新版本)一个newconfigoptioncalledshim.然后我把这些东西写在这里:index.htmlTestingtimeTestingtimescripts/main.jsrequirejs.config({shim:{'libs/jquery':{exports:'$'},'libs/underscore':{exports:'_'},'libs/backbone':{deps:['libs

javascript - 使用 ASP.NET MVC 捆绑和缩小模块化 JavaScript (RequireJS/AMD)

有没有人有任何经验或知道在ASP.NETMVC项目中捆绑和缩小模块化JavaScript(如RequireJS/AMD)的好的解决方案?最好的方法是使用RequireJSoptimizer(也许在后期构建操作中?)——或者有更好的ASP.NETMVC吗? 最佳答案 我认为您会遇到的问题是如果您使用匿名定义。如果您想要一个包含所有定义的组合/捆绑脚本文件,则必须为它们命名。例如。define("someModule",["jquery","ko"],function($,ko){...});代替define(["jquery","ko

javascript - 使用 RequireJS 进行依赖注入(inject)

我可以扩展多少RequireJS来为我的应用程序提供依赖注入(inject)?举个例子,假设我有一个我想成为单例的模型。不是self执行的getInstance()类型的单例中的单例,而是上下文强制的单例(每个“上下文”一个实例)。我想做类似...require(['mymodel'],function(mymodel){...}并让mymodel成为MyModel类的一个实例。如果我要在多个模块中执行此操作,我希望我的模型是相同的共享实例。我已经通过像这样制作mymodel模块成功地完成了这项工作:define(function(){varMyModel=function(){thi

javascript - RequireJS:有没有办法实现多个基本 URL?

我想使用一个单独的域作为JavaScript框架,它会创建一个基本的require配置,我可以从应用程序中扩充它。foo.example.commain.jslib/foo-specific.jsframework.example.comframework.js最理想的是,我希望能够要求“lib/foo-specific”和/或“lib/jquery”,并让路径很好地解析,但据我发现,没有办法做到这个,除非我为框架中的每个js文件使用特定的路径键/值。目前,我有一个自定义插件来加载具有不同基本url的给定路径(例如fw!lib/jquery),但如果我想使用text!插件,它不会工作,

javascript - 为什么串联的 RequireJS AMD 模块需要加载程序?

我们在开发过程中喜欢RequireJS和AMD,我们可以在其中编辑模块,在浏览器中点击重新加载,并立即看到结果。但是当需要将我们的模块连接到一个文件中以进行生产部署时,显然必须仍然存在AMD加载器,无论该加载器是RequireJS本身还是它的较小伙伴“almond”,如下所述:http://requirejs.org/docs/faq-optimization.html#wrap我的困惑是:为什么需要加载程序?除非您有非常特殊的情况需要在模块内部调用require(),否则一系列AMD模块似乎可以在根本没有加载程序的情况下连接起来。最简单的示例是一对模块,如下所示。ModA.js:de

javascript - RequireJS 中的命名模块与未命名模块

我们可以通过给它一个名字在requireJS中创建一个模块:define("name",[dep],function(dep){//moduledefinition});或者我们可以创建一个不包含名称的:define([dep],function(dep){//moduledefinition});创建模块的更好方法是什么?我知道RequireJS建议避免分配模块名称。但是我想知道在什么情况下我们做和不需要给模块起名字。这会影响使用吗?每种方式的优缺点是什么? 最佳答案 这就是requirejsdocumentation关于命名模块

javascript - JS : Most optimized way to remove a filename from a path in a string?

我的字符串格式如下:path/to/a/filename.txt现在我想做一些字符串操作,这使我能够非常有效地从此代码中删除“filename.txt”部分。换句话说,我希望我的字符串变成这样:路径/到/a/最有效的方法是什么?目前我正在拆分字符串并重新连接除最后一个元素之外的单独元素,但我觉得这是一种非常非常低效的方法。这是我当前的低效代码:res.getPath=function(file){varelem=file.split("/");varstr="";for(vari=0;i 最佳答案 使用lastIndexOf()找到

javascript - 是否可以阻止 requireJS 自动添加 .js 文件扩展名?

我正在使用requireJS加载脚本。它有thisdetailinthedocs:Thepaththatisusedforamodulenameshouldnotincludethe.jsextension,sincethepathmappingcouldbeforadirectory.在我的应用程序中,我将我所有的脚本文件映射到一个配置路径中,因为它们是在运行时动态生成的(我的脚本开始时像order.js这样的东西但是变成像order.min.b25a571965d02d9c54871b7636ca1c5e.js(这是文件内容的哈希值,用于缓存清除目的)。在某些情况下,require

javascript - 如何用RequireJS实现懒加载?

我们正在使用Backbone、RequireJS和Handlebars构建一个重要的Web应用程序,好吧,我只是好奇。目前,我们的每个模型看起来都像这样:define(['Backbone','js/thing/a','js/thing/b','js/lib/bob'],function(a,b,bob){returnBackbone.Router.extend({//stuffhere});});thing/a、thing/b都有自己的依赖项,例如Handlebars模板等。现在发生的是,在我的main.js中,所有“顶级”路由器都已加载并初始化;每个顶级路由器都有一组依赖项(模型、