Tag: requirejs

无法在同一个TypeScript项目中使用requireJS和Node的Require

我有一个针对Node和浏览器的打字稿项目。 我在某些脚本中使用了Node的require() ,并且在其他脚本中require() 。 我的项目目录如下所示: myProject \– a.ts \– b.ts \– node.d.ts \– require.d.ts 其中a.ts包含: /// <reference path="./node.d.ts" /> var cp = require('child-process'); var a = 'hello world' export = a 和b.ts包含: /// <reference path="./require.d.ts" /> require('hello',function(x){console.log('world')}); var b = 'hello world' export = b 其中require.d.ts和node.d.ts从DefinitlyTyped获得。 当我编译我的项目,我得到这些错误: b.ts(2,1): error TS2346: Supplied parameters do not match […]

我怎样才能以简单的方式将函数转换为RequireJS中的模块?

我一直在阅读文档,但我似乎无法以一种简单的方式做到这一点。 我觉得我对node.js使用相同的单词,例如require , exports , module等,太多了。 想象一个主要的脚本是这样的。 (想象这些function是复杂的) require(['jquery', 'domReady!'], function($) { $("#staticButton").click(function() { showMessage('What does this button do?'); }); function showMessage(message) { alert(message); } }); 现在想象我想在多个脚本中使用showMessage() 。 我怎样才能做到这一点? 在Node.js我会将showMessage()附加到showMessage.js并且在我想要使用它的任何地方执行此类操作: require(['jquery', 'domReady!'], function($) { var showMessage = require('showMessage'); // Easy huh? $("#staticButton").click(function() { showMessage('What does this button do?'); }); }); 但是对于RequireJS这给了我首先需要加载的错误。 在使用上面的语法之前,我是否require或者define这个? 我真的需要在主脚本require数组中添加它吗? 我不喜欢那样 如果你有20个function呢? […]

Karmatesting运行器RequireJS 404错误,不提供内容

获取我的app.js文件的404错误,即使它存在于它所说的URL没有(服务与业力)。 任何想法这是什么以及如何解决? >疯了。 DEBUG [web-server]: serving: /Users/tina/Sites/node_require/client/src/app.js DEBUG [web-server]: serving: /Users/tina/Sites/node_require/client/src/views/add.js WARN [web-server]: 404: /base/client/src/app 我的目录结构: karma.conf.js bower_components/ client/ src/ -app.js -main.js spec/ -app.test.js -test.main.js views/ -add.test.js 我的karma.conf.js: // Karma configuration // Generated on Mon Apr 13 2015 19:36:01 GMT-0400 (EDT) module.exports = function(config) { config.set({ // base path, that will be used to resolve […]

Windows上的RequireJs优化失败

试图在Windows上优化一个基于requirejs的项目。 将r.js.cmd与以下的NodeBuild.js文件放在Scripts文件夹中。 ({ baseUrl: ".", paths: { jquery: "empty:" }, name: "main", out: "main-built.js" }) 使用该命令时 node r.js.cmd -o nodeBuild.js 我得到以下回应: r.js.cmd:1 (function (exports, require, module, __filename, __dirname) { @IF EXIST "%~dp0 ^ SyntaxError: Unexpected token ILLEGAL at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) […]

咕噜的Nodeunit找不到模块“点击”

所以,在本教程中 ,我决定添加一些unit testing到我的node.js应用程序。 我gruntfile似乎是好的,当我inputgrunt nodeunit我唯一的testing运行得很好,但之后,它崩溃与错误Fatal error: Cannot find module 'tap' : $> grunt nodeunit Running "nodeunit:all" (nodeunit) task Testing db.test.js .OK Fatal error: Cannot find module 'tap' 我对这个模块一无所知,但是在googliing之后,似乎是nodeunit需要的东西。 实际上,存在$MY_NODE_APP/node_modules/nodeunit/node_modules/tap ,当我在$MY_NODE_APP/node_modules/nodeunit启动节点并在交互式控制台中inputrequire('tap')时,的东西,给我一个印象,它的工作原理应该。 所以,显而易见的问题是:为什么我得到这个错误,我该如何解决? Gruntfile: module.exports = function(grunt) { grunt.initConfig({ nodeunit: { all: ['./**/*.test.js'] } }); grunt.loadNpmTasks('grunt-contrib-nodeunit'); }; 更新 :安装了我的项目,但它也没有帮助。

RequireJS 2.1.9使用Grunt时会导致“最大调用堆栈..”错误

我正在使用Grunt构build一个多模块应用程序(Backbone,Marionette,RequireJS,Handlebars),但我一直得到“Error:RangeError:Maximum call stack size exceeded”消息。 如果我用2.1.5replacer.js 2.1.9文件,它可以工作。 我不知道哪里可以开始debugging。 注意:从节点运行相同的构buildconfiguration选项可以使用2.1.9 node r.js -o build.js 它只是不喜欢从Grunt跑。 r.js 2.1.9 grunt-cli v0.1.11 grunt v0.4.2 这是我的Gruntfile.js module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), requirejs: { compile: { options: { appDir: "src/main/webapp", baseUrl: 'js/', dir: "target", mainConfigFile: 'src/main/webapp/js/require-config.js', //optimizeAllPluginResources : true, findNestedDependencies: true, //removeCombined : true, //optimize : 'none', //inlineText : […]

require.js – 运行时dynamicvariables来构buildpath

是否有可能将运行时信息注入到一个require.js“数据主”脚本并用于构buildpath? 更多解释… 在我的node.js app.js中,我dynamic地findconfiguration的“主题”的path,如下所示: var themePath = require('./conf/config.js').config.theme.full_path; 后来在require.js数据主脚本中,我想在定义path时加上这个主题path。 所以假设我已经设置了我的requirejs data-main =“xxx”,下面是xxx文件,我想要做如下的事情: require.config({ baseUrl: "/js/", paths: { "templates" : DYNAMIC_THEME_PATH + '/templates', "views" : DYNAMIC_THEME_PATH + '/views' } }); 我不确定1.如何从这个require.js数据主文件中“查看”themePath,以及2.这甚至可能吗? 编辑 – 我的解决scheme 所以我遇到的真正的挑战是在服务器上发现运行时variables到require.js数据主脚本中。 在节点域,全球不对应客户端的窗口(当然),因为JavaScript是不是在浏览器呢..呃。 所以我不知道如何在客户端脚本中find这个可发现的东西。 好的,所以我能做的就是在ejs中注入发现的主题path,然后dynamic加载数据主脚本,如前所示: <script data-main="<%= theme_path %>/main" src="../js/libs/require-jquery.js"></script> 当然,这意味着我必须在主目录中有数据主脚本,这不是我最初的计划; 然而,它的优点是我可以使用相对path加载我的path/到/模板path/到/视图等。 最后,当人们回答他们自己的问题的时候,我有点讨厌…所以我会留下这个希望,希望有人能给我一个更好的build议,或者更好地解释这个,他们可以得到的信贷;)

如何编写将在Chrome和Node.js中运行的JavaScript Web代码?

这个问题的答案归结为两件事情:1)考虑到node.js的局限性,使用BOSH还是web套接字会更简单一些?2)如何构造代码,以便相同的JavaScript文件在浏览器,因为它在Chrome浏览器(或其他浏览器)。 简洁地描述问题是很难的。 真正的问题是,想要代码在浏览器中运行的同样在node.js中,同时具有外部依赖性。 背景 我有这个想法,我想要做的小javascript项目的乐趣。 我打电话给jsFun的想法,其核心思想是我可以花30分钟到一个小时做一些有趣的事情,并与我的朋友分享。 我从一开始就看到能否在一小时内写出俄罗斯方块,除了Notepad ++,Chrome和Dropbox以外,什么都不用。 我没有成功,但很有趣。 对我来说,“乐趣”可能意味着一场游戏,而这可能意味着多人游戏。 后面的餐巾素描看起来像这样: 我可以通过任何一台计算机进行更改,并通过Dropbox将其推出。 (检查!) 我可以使用我的Dropbox公共URL来提供静态页面。 (检查!) Web客户端可以使用HTML5 Web套接字或BOSH通过node.js聊天服务器路由消息。 游戏服务器脚本也可以连接到聊天服务器并实现某种游戏逻辑。 游戏服务器脚本既可以在浏览器中运行,也可以在node.js中运行。 以下是使用HTML5 Web套接字与node.js聊天服务器对话的一个很好的例子: http : //html5demos.com/web-socket 比方说,我制作了多人游戏。 我的项目需要3个部分: 游戏客户端脚本 – 这是在浏览器中运行并为用户呈现游戏的JavaScript。 聊天中心脚本 – 这是一个聊天服务器,在游戏客户端和游戏服务器之间传递消息。 它作为一个node.js进程运行。 游戏服务器脚本 – 此脚本可以在浏览器中运行以进行testing和debugging,也可以在node.js中运行 现在,为了制作井字游戏,我将确保聊天服务器正在运行,创build游戏服务器脚本和游戏客户端脚本,并打开三个Web浏览器 – 两个客户端和一个服务器。 在这一点上,我可以使用Chrome的令人敬畏的debugging工具来解决任何问题,使记事本+ +的更新,并刷新浏览器像疯了,30至60分钟。 也许我现在有一个工作的游戏。 这是一个复杂的步骤:我在浏览器中运行的那个游戏服务器脚本,现在我想从node.js运行。 实际上,我希望聊天服务器监视我的保pipe箱服务器脚本目录中的更改,并自动运行这些脚本。 Node.js使用CommonJS模块,浏览器无法加载。 我想我可以使用RequireJS,并在理论上在任一环境下加载代码,但这个问题变成了事实,即浏览器和服务器将使用不同的库来完成Web套接字 – 我如何使代码以任何一种方式运行? websockets甚至是要走的路,因为它似乎是一个不断变化的标准,也许我不能依赖于node.js websocket服务器来长期工作。 node.js唯一可用的websockets服务器看起来可能是一个正在进行的工作: https : //github.com/miksago/node-websocket-server 也许我应该使用像BOSH这样更成熟的API? […]

在nodejs上使用mochatesting主干

我有一个nodejs应用程序,它具有用backbonejs和requirejs构build的客户端代码。 我想使用摩卡在我的nodejs服务器上testing客户端代码。 我的摩卡testing文件:test / view.coffee requirejs = require 'requirejs' global.define = requirejs requirejs.config nodeRequire: require baseUrl: '../public/javascripts/libs/' paths: jquery: "jquery" Underscore: "underscore" Backbone: "backbone" shim: 'jquery': exports: '$' 'Underscore': exports: '_' 'Backbone': deps: ['jquery', 'Underscore'] exports: 'Backbone' requirejs ['../public/javascripts/views/test_view'], (TestView) -> describe 'TestView', -> view = new TestView() 要testing的Backbonejs文件:public / javascripts / views / test_view.coffee […]

生成,编译JavaScript库

我有一个目前使用requirejs的JavaScript库。 为了保持可读性,我把所有内容都写入了目录。 现在我想将所有的模块一起编译成一个用于生产的JavaScript文件,但是这些文件仍然可以工作,不需要编译进行开发,这样我就不必在testing某些东西时重新编译所有的东西。 我如何完成这项任务?