Articles of requirejs

需要模块并获得空的对象

我已经使用Browserify在浏览器中使用一些节点模块,应该加载require.js,如下所示: 问题是,在定义函数中,我得到了空的对象,任何想法? 我做的是: npm install -g browserify 然后 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 (bundle) { 捆绑对象是空的 JS对象,任何想法为什么?

我怎样才能从这个项目中删除凉亭,并用yarn(noob)使用requirejs?

我怎样才能切换这个避免使用凉亭? 我第一次安装了yeoman,knockout的发电机使用了凉亭。 现在我读了bower的支持是有限的,而bootstrap使用了popper.js,在v2中会弃用对bower的支持。 我现在想避免头痛,同时学习。 RequireJS和每个客户端库都在/src/bower_modules 。 如果我使用npm或yarn安装bootstrap,它会将它们安装在浏览器无法访问的/node_modules 。 然后,我使用/src/bower_modules将dist文件夹传输到my /src/bower_modules文件夹? 文件夹结构: /src/ |–bower_modules/ |–app/ |–require.config.js /node_modules/ /gulpfile.js gulpfile.js: var requireJsRuntimeConfig = vm.runInNewContext(fs.readFileSync('src/app/require.config.js') + '; require;'), requireJsOptimizerConfig = merge(requireJsRuntimeConfig, { out: 'scripts.js', baseUrl: './src', name: 'app/startup', paths: { requireLib: 'bower_modules/requirejs/require' }, include: [ 'requireLib', 'components/nav-bar/nav-bar', 'components/home-page/home', 'text!components/about-page/about.html' ], insertRequire: ['app/startup'], bundles: { // If you want […]

通过msbuild require.js优化器不起作用,但直接在命令行上

在我的代码中,下面的命令,在PowerShell提示符下执行 r.js -o name=main out=main_opt.js baseUrl=. 工作正常,并输出以下内容 Tracing dependencies for: main Uglifying file: C:/Users/Scott/Documents/d/proj/Scripts/Coffee/Directory/main_opt.js C:/Users/Scott/Documents/d/proj/Scripts/Coffee/Directory/main_opt.js —————- C:/Users/Scott/Documents/d/proj/Scripts/Coffee/Directory/DirectoryVM.js C:/Users/Scott/Documents/d/proj/Scripts/Coffee/Directory/main.js 通过msbuild我得到以下 RequireJSOptimize: working dir = C:\Users\Scott\Documents\d\proj\Scripts\Coffee\Directory\ r.js -o name=main out=main_opt.js baseUrl=. node.js:203 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Error evaluating module "undefined" at location "undefined": TypeError: Cannot call method 'write' […]

在使用require('some_module.js')时运行脚本 – 好的做法?

我正在谈论服务器端JS(与node.js和require.js)我有三个文件 //1) app.js – main entry point: //======================================================= var myservice = require('./myservice'); rt.register('someKey', require('./XYZhandler').handler); //2) myservice.js: //======================================================= var handlers = {}; exports.register = function(key, handler) { handlers[key] = handler; }; //3) and finally XYZhandler.js: //======================================================= exports.handler = function() { //…do something }; 所以,在上面的设置中,我已经在app.js中实际执行了所有脚本 我select的是: //1) app.js – main entry point: //======================================================= var myservice = require('./myservice'), […]

当使用requirejs优化器时,有可能在html文件中configuration内容吗?

我发现可以使用onBuildWrite获取js文件的内容,但是我需要一种方法将值注入到根html页面,这可能吗? EG,我们想换一个css版本的less文件。

在延迟callback时不会抛出/显示错误

我们正在用RequireJS和Node构build一个项目,并重用服务器和客户端的模块。 到目前为止,这是相当不错的(一些小小的纠结)。 一个问题似乎是延迟callback中的错误不会显示在节点控制台中(或者以任何其他方式)。 debugging非常困难。 asdasdasd(); // Throws error, function is undefined, as intended this.loadOrganization(organization_key, true).then(function(org) { asdasdasd(); // No error anywhere, script just stops executing }); loadOrganization返回一个延迟对象,并且调用callback被调用 – 但是没有显示与undefined有关的错误消息(当评估模块时,通常的语法错误是由节点报告的)。 我们使用jsdom和jquery在服务器端引导浏览器的内容。 然后将jquery从jsdon传递给大多数方法 – 所以用于loadOrganization的延迟对象是jQuery通过jsdom的。 然而,从npm安装的jquery中将延迟改为1是没有区别的。 任何build议都是有帮助的,当没有打印错误时,很难debugging。

使用requirejs创build完全独立的上下文栈

我有一个现有的网站,使用requirejs的一切从加载库,如jQuery和骨干到定义骨干视图,模型等我试图得到这个呈现在服务器端与node.js,因此需要一个完全独立上下文栈为每个请求。 Requirejs的多版本支持几乎是我所需要的。 它允许为将来的加载声明特殊的上下文。 var context1 = require.config({context:“abc123”}); 这允许:context1(['item'],function(item){}); 哪里“项目”将单独加载,即使它已经被加载。 不幸的是,我需要所需的项目也有能力要求和定义项目隔离到上下文堆栈。 Requirejs几乎具有使用内部takeGlobalQueue函数设置的此function。 不幸的是,这个函数期望抓取自最近调用以来定义的所有项目,因此可以获取在不同上下文堆栈上定义的项目。 我需要的是让requirejs给我一个真正独立的define / require实例,通过未来的调用保持分离。 我不想重写我的整个网站不使用requirejs和/或需要一些插件为我的所有requirejs调用。 我应该在这个黑客r.js源? 这是否违反AMD规范? 更新1:在nodejs上说我使用domino / jsdom创build一个窗口上下文。 然后,我将jQuery / zepto和Backbone的副本附加到该窗口,以便Backbone.View.make在该窗口中创build一个元素。 然后,我可以加载我的实际应用程序堆栈,然后inheritancebackone的副本,使所有的东西“正常工作”,就好像它在浏览器中一样。 不需要破解jquery / backbone源代码。 但是我需要一个Backbone的单独副本,指向一个单独的窗口,用于不同的同步请求,这意味着我的视图/模型等单独的上下文堆栈。

Yeoman.js是否configuration客户端和服务器的东西?

只是想100%肯定这个:Yeoman.jsconfiguration/帮助build立客户端和服务器(node.js)的东西? 例如:我看到它参考Require.JS。 我认为这将意味着它可以照顾使用Bower获取服务器上的依赖关系(用于客户端),创build一个用作客户端上的Require.jsinput的Json文件,以便客户端知道哪些文件下载? 作为一个额外的步骤,它可能会通过Grunt(一些链轮扩展),以缩小和concatect基于一些configuration的JavaScripts。 正确? 谢谢。

要求JS优化

我有大约50个JS文件,我必须使用r.js和节点优化它…我不想指定所有的JS文件,而是指定顶级文件夹,并以某种方式让r.js获得所有需要的JS文件…. 有没有办法做到这一点? 目前,我在一个常用的js文件中指定了所有的50个js文件,并在我的build.js中引用了它…我在未来几周有更多的文件,因此保留一个通用的js文件将是一个痛苦。 请build议一些步骤。 这里是我的构build文件 ({ baseUrl: ".", mainConfigFile: "../App/main.js", //modules: [ // //{ name: "../App/Crosspoint/Address/AddressList" } // { name: "../App/Crosspoint/Office/OfficeDetails" } //], //paths: { // app: '../App', // jquery: 'jquery' //}, name: "../App/Crosspoint/Office/OfficeDetails", deps: ["../App"], out: "main-built123.js", rawText: { 'some/id': 'define(["another/id"], function () {});' }, // dir: "app", })

我如何在node.js中使用require.js进行Gzip响应

我有一个正规的express.js应用程序,我正在使用 app.use(express.compress()) 来压缩gzip响应,现在当我转到node.js中的常规视图页面时,它们都显示为在浏览器中使用gzip服务。 但是,当我到达与骨干应用程序的页面,响应不gzipped。 也许我在这里错过了一些东西。 这就是我的app.coffee的样子: app = express() app.use(express.compress()) app.set "port", process.env.PORT or 3000 app.set "views", __dirname + "/views" app.set "view engine", "jade" app.engine 'hamlc', require('haml-coffee').__express app.use express.favicon() app.use express.logger("dev") app.use express.bodyParser() app.use express.methodOverride() app.use express.static(path.join(__dirname, "public")) app.use('/dist', express.static(__dirname + '/dist')); app.use('/docs', express.static(__dirname + '/docs')); app.use('/tmp', express.static(__dirname + '/tmp')); app.use require('connect-assets')() 对我来说,这似乎是一个普通的app.coffee。 这就是require.js如何加载的视图。 – […]