Articles of requirejs

优化多个requirejsconfiguration文件

我有与r.js优化问题 我有一个有多个requirejsconfiguration文件的项目 + app – module1 * main.js * foo.js * bar.js – main.js + build.js 每个main.js都有自己的包 main.js的代码是: requirejs.config({ 'baseUrl': '../app/', 'paths': { 'module1' : 'module1/main' } }); define(['module1'],function(){}); module1 / main.js代码如: requirejs.config({ 'paths': { 'foo' : 'module1/foo', 'bar' : 'module1/bar' } }); define(['foo','bar'],function(){}); 和build.js文件是这样的: ({ mainConfigFile: 'app/main.js', baseUrl: 'app', name: 'main', out: 'dist/main.js', }) […]

调用TypeScript编译器作为NPM模块

我有一个用TypeScript编写的项目,我使用一个任务运行器来build立(无论:Gulp,Jake等)。 我使用的TypeScript编译器是我从NPM安装的: npm install typescript 重要提示:正如你所看到的,没有全局的-g参数,这是有意的。 因为我需要使用特定版本的编译器进行一些修改。 以编程方式调用tsc 所以我想从configuration我的任务pipe理器的Javascript文件调用编译器: var tsc = require("typescript"); function compile() { tsc.compile(…); // I would like to do something like this } 我可以这样做吗? 我已经试过了,但是到目前为止没有得到太多的运气。

使用require.js加载browserify的boundle.js

我们有与require.js一起工作的框架,我们正在加载如下的包 define(["converter/service/utils"], function (utils) { 现在我们可以使用utils文件。 现在我们有一个新的js文件,这是一个浏览和uglify像 browserify main.js | uglifyjs > bundle.js 我已经将boundle.js文件添加到我的项目(服务文件夹下),我想加载它,但它不工作… 我尝试加载它,如下所示: define(["converter/service/bundle"], function (bundle) { 但捆绑是空的(而debugging它…) 任何想法如何使用require.js加载browserfiy文件? 我知道在博客文档中我们应该加上它 <script src="bundle.js"></script> 但我们使用require.js来加载模块,我可以这样做与其他js文件…例如,如果我保存在我的项目中的这个文件 https://rawgit.com/hugeen/lebab-experiment/master/lebab.js 我可以加载require.js … 编辑: 我所做的是npm init & npm install lebab –save 创build文件main.js并把下面的代码 var lebab = require("lebab"); 并运行命令 browserify –standalone someName main.js | uglifyjs > bundle.js 它成功完成 把bundle.js文件放在converter/service文件夹下 并试图要求如下: define(["converter/service/bundle"], function […]

当应用程序部署到云时,.js文件将与index.html的内容一起提供

当我在本地运行我的应用程序时,一切都按预期工作,但是当我将其部署到cloudno.de时,它看起来像这样 。 我得到一个错误Uncaught SyntaxError: Unexpected token <这是因为greeting.js的内容是 <!doctype html> <html lang="en"> ……. 显然不是我的JavaScript文件,但实际上是我的index.html的内容 我的项目几乎没有启动,它使用一个Backbone Boilerplate,代码在这里可以看到这里 。 有谁知道可能是什么原因呢? 我的server.js: // Require libraries var fs = require("fs"); var express = require("express"); var site = express.createServer(); // Determine which dist directory to use var dir = process.argv.length > 2 && "./dist/" + process.argv[2]; // Use custom JS folder […]

如何让r.js优化器将项目中的所有模块组合到一个文件中?

从r.js优化器的实验来看,似乎没有办法让最终的index.html文件只引用单个脚本,也不会在用户会话的生命周期内对其他脚本进行任何asynchronous调用(除非它们重新加载当然页)。 根据我的经验,它看起来像创build了一组优化文件的组合,可以在需要时进行引用? 这似乎违反了大多数组合脚本,最终只有一个组合/优化的js文件,在正确的顺序。 任何人都可以解释我的问题吗?

阻止RequireJScachingNodej上所需的脚本

我正在使用像airbnb的rendr ,即我自己的实现共享客户端和服务器之间的主干代码 ,以使用在客户端上使用相同的骨干模型,视图,集合和模板在服务器上构build完整的HTML。 我的文件/模块被定义为requirejs模块,这样我可以轻松地在客户端上共享它们。 在开发模式中,当我刷新浏览器(不重新启动服务器)时,我想让requirejs从光盘中重新读取/重新加载任何模块,所以我得到我的服务器渲染使用最新的模板和JavaScript来最终为我提供最新的HTML。 当在服务器上使用requirejs和nodejs时, 将下面的参数添加到 urlArgs中的技巧不起作用,即服务器不会从光盘上重新加载/重新获取任何模块 urlArgs: "bust=v2" 我想知道,如果重新加载/ refetching从磁盘空间requirejs模块,而不重新启动服务器是可能的节点? 具体来说,这对于模板的require-text插件将非常有用。 此外,将重新加载仅限于一组受限制的模块将会很好。

configurationgrunt watch使用requirejs对应用程序运行Jasminetesting

为了提高我的通用编码技能,并学习新的东西。 我已经开始尝试连接仅包含前端的解决scheme 迪朗达尔 茉莉花 – [通过npm添加] Grunt Watch监视和运行我的testing,因为我的代码文件更改 – [通过npm添加] 随时纠正我,因为这是根据我在过去两天的实验。 这大部分对我来说都是新的。 我的目标是有什么angular度与业力相似的东西。 现在我意识到,Durandal项目(在github解决scheme中提供了一个自定义的spec runner) 我的设置: gruntfile.js module.exports = function(grunt) { var appPath = 'App/viewmodels/*.js'; var testPath = 'Tests/**/*.js'; grunt.initConfig({ jasmine: { pivotal: { src: appPath, options: { specs: testPath, template: require('grunt-template-jasmine-requirejs'), templateOptions: { requireConfigFile: 'SpecRunner.js' } } } }, jshint: { all: [testPath, appPath], […]

是RequireJSasynchronous加载文件?

注意:requirejs([],function(){})将在RequireJS 2.1+中asynchronous调用函数callback(对于早期版本,它被同步调用)。 但是,在Node中运行时,将使用同步IO调用加载模块加载,并且加载器插件应同步parsing对其加载方法的调用。 这允许节点中的requirejs模块同步使用requirejs('stringValue')调用: 这是什么意思? 这是否意味着节点中的requirejs不是真正的asynchronous加载文件? 因为它使用同步IO调用?

RequireJS优化和文本插件

我正在使用RequireJS优化器来优化也使用文本插件的模块。 为了没有文字! 插件一遍又一遍地加载每个优化的模块,我这样做 node r.js -o stubModules=text name=Main out=main-master-built.js 其中的作品,部分产生以下 define("text",{load:function(e){throw new Error("Dynamic load not allowed: "+e)}}) define("text!f.htm",[],function(){return"<h3>Hello World</h3>\r\n<h4>Bam</h4>"}) 不幸的是,如上所示,我不能再使用“正常”的文本插件。 上面的错误抛出存根使我无法添加文本! 调用一个未优化的依赖列表。 有没有办法解决? 有没有什么select,我可以把,比如说,改变这些text引用飞行到texto ,然后做类似的事情 define("texto",{load:function(e){throw new Error("Dynamic load not allowed: "+e)}}) define("texto!f.htm",[],function(){return"<h3>Hello World</h3>\r\n<h4>Bam</h4>"}) 或者一些其他的select,将优化与文本依赖关系模块,而不是也杀死我的能力,继续dynamic使用它?

节点中的R.js和Coffeescript

新的节点。 有人可以帮我理解如何在nodejs应用程序中使用coffeescript来configurationr.js吗? 详细阐述一下,我有点失落了。 在哪里包括r.js在项目中。 一个简单的用例,需要用r.js来定义。 在源代码中包含cs-require的位置 哪些部分可以用npm install来安装我之前问过这个问题,但好像我问了10个问题,所以我试图更简洁。 我希望有人能指点我一个例子git,因为我很难find任何。 谢谢