Tag: requirejs

如何在一个节点上使用requirejs,jquery和d3 express webserver

有一段时间我一直在挣扎,但我没有取得任何进展。 我总是遇到意想不到的事情。 我想支持node.js(express)中的浏览器代码,它使用require.js,jquery和d3.js基于http请求input参数构build图(svg) 我遇到的问题是,一旦requirejs被初始化,它将始终返回相同的jquery和d3.v2模块,并且这些都将(针对每个客户端http请求)开始在同一个DOM(jsdom)实例上执行它们的操作。 最终的结果是graphics混合在一起。 一旦require.js就足够简单了,但是这将使我更新所有现有的浏览器代码,大量使用require.js模块和依赖项pipe理 所有关于如何解决这个问题的技巧,或者指示代码的指针,都会受到热烈的赞赏! 谢谢 彼得

如何pipe理Node.js应用程序的基于requireJS的包

既然碰到了RequireJS,我已经开始全心全意地采用它,因为它似乎是一个很好的组织依赖等的方式。 对于我当前的项目,我创build了一个requireJS组织模块的“包”,它将提供所需的数据库API给许多node.js应用程序。 但是,我遇到了一个绊脚石……我怎么能让第三方应用程序使用我的包,而不需要与requireJS faff? 我的应用程序和API的目录结构目前如下所示: api_package/node_modules api_package/controllers/* api_package/views/* api_package/helpers/* api_package/models/* api_package/main.js application_1/node_modules application_1/app.js application_2/node_modules application_2/app.js 我需要我的应用程序是独立的 – 所以他们可以很容易地部署 – 所以我目前的工作是将api_package / *复制到application_1&2的“node_modules”目录,并将它们的requirejsconfiguration设置为以下内容: (function() { var requirejs; requirejs = require('requirejs').config({ baseUrl: __dirname, nodeRequire: require, packages: [ { name: 'api_package', location: './node_modules/api_package' } ] }); 这感觉有点肮脏和错误! 有没有更好的办法? 我是否缺lessrequireJS的一些包装function? 甚至有可能隐藏我的api_package(我正在使用requireJS的细节)的实现细节,并允许应用程序像使用其他模块一样使用它: require('api_package')

testing需要nodejs中的茉莉花模块

我可以加载需要在节点模块来testing茉莉花。 她的我的规格亚军 var coffee, isVerbose, jasmine, key, showColors, sys, i, len, jasmine = require('jasmine-node'), fs = require("fs"), sys = require('sys'); for (i = 0, len = jasmine.length; i < len; i++) { key = jasmine[i]; global[key] = jasmine[key]; } isVerbose = true; showColors = true; coffee = true; process.argv.forEach(function(arg) { switch (arg) { case '–color': […]

在require.js下使用节点并行javascript minification?

我使用node.js来缩小在require.js依赖scheme下打包的javascript文件,而r.js实际上是在缩小。 (请参阅: http : //requirejs.org/docs/optimization.html ) 这种微缩策略似乎是并行化的成熟。 也就是说,每个javascript都是独立缩小的,节点本身应该在bash-shell上下文中分叉。 有没有人试过这个? 现在按照“时间”,我必须等待大约4分43秒才能完成当前的缩小过程。 我想回答的一些问题是:可以并行启动几个节点的实例吗? r.js是否保持任何状态,如果几个缩小并行进行将会被腐化? 提前致谢。 另外,如果没有人为node / r.js构build并行线束,那么请告诉我,如果有需求,我可能会抓取一些东西。

jQuery的手机redirect或更改url时,网页没有任何CSS

我正在与骨干,jQuery的移动,快递应用程序。 一切正常,当应用程序启动和正常工作,但是,当我点击一个链接或更改url的HTML呈现正确,但没有jQuery的移动魔术出现。 它只在页面和页脚和格式的login部分呈现,但是当URL改变,我回来了,页面失去了CSS或jQuery的移动魔术。 define(['views/index', 'views/register', 'views/login', 'views/forgotpassword', 'views/profile', 'views/vinbookDoc', 'models/Account', 'models/Vinbook', 'models/vinBooksCollection'], function(IndexView, RegisterView, LoginView, ForgotPasswordView, ProfileView, vinbookDocView, Account, Vinbook, vinBooksCollection) { var AppRouter = Backbone.Router.extend({ currentView: null, routes: { "index": "index", "login": "login", "desk/:id": "desk", "profile/:id": "profile", "register": "register", "forgotpassword": "forgotpassword", "vinbook/:id": "showVinbook" }, initialize: function(){ $('.back').live('click', function(event) { window.history.back(); return false; }); this.firstPage […]

具有socket.io的单页应用程序中特定于部分的侦听器

我正在构build一个具有一些实时function的应用程序(通知,实时评论,…,当然还有经典的聊天室)。 它的结构是一个单一的页面应用程序。 我使用page.js来处理路由,require.js,现在还有一个简单的自定义mvc框架。 后端与节点和socket.io实时支持。 事情是,我有不同的部分,如家,post,聊天。 每个部分都是基于路由dynamic呈现的。 现在,我应该如何为每个部分绑定特定的套接字事件? 我不想听那些与当前观看部分无关的事件。 我应该每次创build一个新的连接用户更改该部分,目标不同的命名空间? 或者我应该删除套接字中的所有事件侦听器,并附加一组新的事件? 我不知道什么是最好的方法,或者如果socket.io是最好的select。 谢谢。

为什么requirejs优化器需要在我的源文件上写入权限? 这可以解决吗?

我正在优化一个我们已经开始转换为AMD语法的项目,而且我遇到了一些问题。 我们的版本控制工具Clearcase在文件系统未检出时将文件保留为只读文件。 当我试图使用node r.js来优化项目时,我发现这导致了问题。 具体来说,它似乎试图获得我已经定义为模块的文件的写入权限,以便在我的构build文件中进行优化。 我的构build文件看起来像这样: { baseUrl: "../", mainConfigFile: "./config.js", appDir: "…/../build/", dir: "../", modules: [{ name:"file1" }] } 当我离开file1.js签入时,我看到一个错误消息 Error: EACCES permission denied '…/file1.js' at Object.fs.openSync (fs.js:427:18) 当我检查出来,并获得写权限,它没有任何问题。 我已经testing了这一点,它一直似乎需要写权限才能工作。 我不明白这一点,因为这些文件不应该被写入,他们只需要阅读。 有没有解决方法? 我做错了什么? 我也很好奇,如果有这个限制的原因(如果不是简单的我的错误),或者只是被忽略的东西,这对大多数人来说都不是问题。 我一直无法find其他有这个问题的人,所以我可能处于一个相对独特的情况(可以肯定的是,使用clearcase和Node.js的人可能不是很大的重叠)

如何将预编译的hogan.js模板封装到AMD模块中?

我试图将预编译我的胡须模板join到我的构build过程中。 我使用AMD代码组织,所以我想将我编译的function包装到模块中。 我正在尝试执行以下操作: var fs = require('fs'); fs.readFile('template.html', 'utf-8', function(err, data){ function wrap(fnString){ var pre = 'define(function(){return '; var post = '});'; return pre + fnString + post; } var hogan = require('hogan.js'); var compiledFn = hogan.compile(data, {asString: true}); fs.writeFile('template.js', wrap(compiledFn), function(){console.log('written template module')}); }); 当我尝试在应用程序中使用导出的函数时,我得到一个错误: Uncaught TypeError: Object [object global] has no method 'b' […]

更新handlebarJS预编译器

我正在使用句柄预编译器来编译使用该命令的句柄模板 handlebars *.tpl -f *.js 我正在使用handlebar.runtime-v1.1.2.js使用预编译的车把模板。 用以下代码执行编译后的模板 Handlebars.template('****'); 我得到一个错误 Uncaught Error: Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (>= 1.0.0) or downgrade your runtime to an older version (<= 1.0.rc.2). 任何人都可以指导我更新手柄预编译器到最新的Linux机器上。

要求与Node和jQuery的JS

我正在使用r.js试图通过在我的主应用程序文件上运行r.js来编译我的require JS应用程序: $ r.js js/bootstrap.js 但是,我收到了与jQuery的错误: Error: Evaluating www/js/lib/jquery_plugins/slider.js as module "slider" failed with error: ReferenceError: jQuery is not defined 所以我知道这是因为在我的滑块插件中引用了jQuery,但我认为这可以通过在我的bootstrap.js文件中添加jQuery作为填充来解决,该文件如下所示: // Require JS bootstrap file require.config({ paths: { jquery: 'lib/jquery', backbone: 'lib/backbone', backboneLocalStorage: 'lib/backbone.localStorage', underscore: 'lib/underscore', util: 'lib/util', config: 'config', lang: 'lang', hammer: 'lib/hammer', moment: 'lib/jquery_plugins/moment', slider: 'lib/jquery_plugins/slider' }, shim: { jquery: { exports: […]