Tag: requirejs

使用RequireJS加载主干和下划线

我正在尝试使用RequireJS加载Backbone和Underscore(以及jQuery)。 使用Backbone和Underscore的最新版本,似乎有点棘手。 首先,Underscore将自己注册为一个模块,但Backbone假设Underscore在全球范围内可用。 我还应该注意到Backbone似乎并没有将自己注册为一个与其他库不一致的模块。 这是最好的main.js我可以拿出这个作品: require( { paths: { 'backbone': 'libs/backbone/backbone-require', 'templates': '../templates' } }, [ // jQuery registers itself as a module. 'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7/jquery.min.js', // Underscore registers itself as a module. 'http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.2.1/underscore-min.js' ], function() { // These nested require() calls are just due to how Backbone is built. Underscore basically says if require() // is […]

从Gulp任务中排除文件/目录

我有一个gulp rjs任务连接并uglifies所有我的自定义.JS文件(任何非供应商库)。 我想要做的是从这个任务(控制器和指令)中排除一些文件/目录。 inheritance人我的树: – application – resources – js main.js – vendor – jquery – modernzr – angular – controllers – controller1 – controller2 – controller3 – directives – directives1 – directives2 – directives3 – widgets – widget1 – widget2 – widget3 – widget4 – modules – modules1 – modules2 – modules3 – modules4 […]

阻止RequireJScaching所需的脚本

RequireJS似乎在内部做一些caching所需的JavaScript文件。 如果我对所需文件中的一个进行了更改,则必须重命名该文件才能应用更改。 追加版本号作为查询string参数到文件名末尾的常见技巧不能用于requirejs <script src="jsfile.js?v2"></script> 我正在寻找的是防止这个RequireJS所需脚本的内部caching,而不必在每次更新时重命名我的脚本文件的方法。 跨平台解决scheme: 我现在在开发过程中使用urlArgs: "bust=" + (new Date()).getTime()用于自动caching清除, urlArgs: "bust=v2"用于生产的urlArgs: "bust=v2" ,其中我在推出后递增硬编码版本num一个更新的必需脚本。 注意: @Dustin Getz最近在回答中提到Chrome开发者工具将在debugging过程中抛弃断点,当Javascript文件不断刷新。 一种解决方法是编写debugger; 在代码中触发大多数JavaScriptdebugging器中的断点。 服务器特定解决scheme: 对于适合您的服务器环境(如Node或Apache)的特定解决scheme,请参阅下面的一些答案。

什么时候应该使用require()以及何时使用define()?

过去几天我一直在玩requirejs。 我想了解定义和要求之间的区别。 Define似乎允许模块分离,并允许依赖顺序被遵守。 但它下载所有需要开始的文件。 在需要的时候只需要加载你需要的东西。 这两个可以一起使用吗?为了什么目的,每个人都可以使用?

RequireJS:如何定义包含单个“类”的模块?

我有一些JavaScript“类”,每个都在自己的JavaScript文件中实现。 对于开发这些文件是单独加载,并为生产他们连接,但在这两种情况下,我必须手动定义一个加载顺序,确保B之后A如果B使用答:我打算使用RequireJS作为CommonJS Modules / AsynchronousDefinition为我自动解决这个问题。 有没有更好的方法来做到这一点,而不是定义每个导出一个类的模块? 如果没有,如何命名模块导出的内容? 一个模块“员工”出口class级“员工”,如下面的例子,对我来说感觉不够干 。 define("employee", ["exports"], function(exports) { exports.Employee = function(first, last) { this.first = first; this.last = last; }; }); define("main", ["employee"], function (employee) { var john = new employee.Employee("John", "Smith"); });

如何在RequireJS中模拟unit testing的依赖关系?

我有一个AMD模块我想testing,但我想嘲笑其依赖关系,而不是加载实际的依赖关系。 我正在使用requirejs,而我的模块代码如下所示: define(['hurp', 'durp'], function(Hurp, Durp) { return { foo: function () { console.log(Hurp.beans) }, bar: function () { console.log(Durp.beans) } } } 我怎样才能模拟出hurp和durp这样我就可以有效地进行unit testing了?

Webpack ProvidePlugin vs外部?

我正在探索与Backbone.js一起使用Webpack的想法。 我已经按照快速入门指南,并有一个Webpack如何工作的一般想法,但我不清楚如何加载依赖库,如jQuery / backbone / underscore。 他们应该用<script>外部加载,还是Webpack可以像RequireJS的Shim那样处理? 根据webpack文档:shimming模块 , ProvidePlugin和externals似乎与此有关(在某些地方也是这样的bundle! loader),但我不知道何时使用哪个。 谢谢

如何在没有.d.ts的情况下使用来自typescript的外部非打字稿库?

我已经在我的.html文件中定义了这些: <script type="text/javascript" src="bower_components/tree.js/tree.min.js"></script> <script type="text/javascript" src="bower_components/q/q.js"></script> <script type="text/javascript" src="test.js"></script> 然后在test.js中: var myTree = Tree.tree({}) 但是Typescript错误地说:“找不到名字”树“” 我也试着用–module amd编译并放置import Tree = require("model/tree"); 在test.js文件的顶部,但又出错了: Cannot find external module 'model/tree'. 但是显然它应该是一个有效的导入,请参阅此处定义的位置: https : //github.com/marmelab/tree.js/blob/master/src/main.js 我不想为每个我想使用的外部JavaScript文件编写.d.ts文件,那么Typescript想要我怎么做呢?

如何在使用AMD(require.js)时在Backbone.js中加载引导模型

Backbone.js文档build议以这种方式加载bootstrapped模型: <script> var Accounts = new Backbone.Collection; Accounts.reset(<%= @accounts.to_json %>); var Projects = new Backbone.Collection; Projects.reset(<%= @projects.to_json(:collaborators => true) %>); </script> 但是这是一个不能在AMD方法中使用的模式(使用require.js) 唯一可能的解决scheme是声明存储JSON数据的全局variables ,稍后在相关的初始化方法中使用这个variables。 有没有更好的方式来做到这一点(没有全局variables)?

RequireJS – jQuery是否区分大小写?

我试图开始与RequireJS,并遇到一个恼人的问题。 。 。 require.config({ baseUrl: 'app_content/scripts', paths: { // the left side is the module ID, // the right side is the path to // the jQuery file, relative to baseUrl. // Also, the path should NOT include // the '.js' file extension. This example // is using jQuery 1.9.0 located at // js/lib/jquery-1.9.0.js, relative […]