'require'在AMD(异步模块定义)中是同步的吗?如果是这样,是什么使该规范异步?如果我的代码中间有require()(它还没有被加载),它会停止执行吗?会说话的浏览器端。 最佳答案 这里有两个不同的synchronous概念。第一个是“它会停止我的整个网页,坐等文件吗?”。答案是否定的。如果您有一个具有依赖项的脚本,RequireJS不会这样做。如果使用得当,它会使用promise系统。这意味着如果您发送回调并定义对该文件的要求,则在加载所有必需的文件之前不会运行回调。如果其中一个必需文件中有require,则THAT回调将
我目前正在尝试弄清楚如何在我的网络服务器上的scriptish/greasemonkey脚本中包含一个javascript,并让它在每次调用用户脚本时重新加载脚本。我正在我的网络服务器上编辑脚本,我真的不想每次对包含的脚本进行更改时都重新安装用户脚本。有什么办法可以解决这个问题吗?我一直在寻找答案,但到目前为止没有找到答案。明确地说,我的用户脚本如下所示://==UserScript==//@idHET//@nameSettingsHandler//@version1.0//@namespaceHET//@requirehttp://urltoscript/scripts/he/lib
我已经使用requirejs编写了一个JavaScript应用程序来处理依赖项注入(inject)。我已经编译了该文件,但是在将其作为脚本包含时出现了明显的错误:UncaughtReferenceError:defineisnotdefined如果开发人员决定不使用AMD加载程序,我希望我的JavaScript应用程序不依赖于AMD加载程序。但是,由于应用程序的复杂性,我想用它来处理我的应用程序的依赖项。是否有可用的编译器来编译JavaScript以删除AMD依赖项?我看到了一些关于Grunt的讨论,但没有找到关于这是否是Grunt的一个特性的任何直接答案。
我的本地文件系统上有一个名为moment.js的文件,使用require.js加载它如下:initialize:function(){require(['moment'],function(data){console.log(data);});}但是,如果我这样做:initialize:function(){require(['http://momentjs.com/downloads/moment.min.js'],function(data){console.log(data);});}返回的数据未定义。为什么是这样?以及如何在运行时动态包含远程模块?
我需要查看某种依赖树,显示从特定文件开始的各种require()。例如,如果我有一个像这样的server.js文件://server.jsvarmyThing=require('./myThing');和一个像这样的myThing.js文件://myThings.jsvarmongodb=require('mongodb');有没有办法在不手动遍历myThing.js的情况下看到server.js需要mongodb?我很想看到像npmlist生成的树,例如:alex@alex-pc~/repos/test$npmlisttest@1.0.0/home/alex/repos/test├─
我有一个使用ES6的Node应用程序。我正在使用Babel用于转译。据我了解,例如使用像Gulp这样的构建系统或使用requirehook.RequireHook方法似乎对我很有吸引力,因为我将能够将我的源文件保留在ES6中,但仍然使用nodeserver.js执行它们,而无需使用某些构建系统。这至少对开发来说似乎非常有用,我主要担心的是在生产中使用这种方法。每次用户发出请求都会受到惩罚吗?这究竟是如何运作的?对于上下文,我将它与Express应用程序一起使用。 最佳答案 Doesithaveanypenaltyhiteveryti
我在使用node-webkit的简单示例中遇到以下错误:UncaughtAssertionError:pathmustbeastring索引.html//base.jsrequire(["test"],function(test){test.init();});//test.jsdefine(function(){window.c=window.console;return{init:function(){c.log('test.init');},destroy:function(){c.log('test.destroy');}}}); 最佳答案
我是node和JS的新手,正在研究socket.io聊天示例(http://socket.io/get-started/chat/)。我在服务器中遇到了这段代码:varapp=require('express')();varhttp=require('http').Server(app);vario=require('socket.io')(http);我看过其他教程,之前从未见过require之后的双括号。(http)部分有什么作用?它是require的参数,它改变了类型,还是其他什么?谢谢! 最佳答案 在JavaScript中,
我使用RequireJS在我的一个项目中加载我的模块。我在网络上看到使用require调用(而不是define)来要求模块的不同方式。假设我有一个名为“JQuery”的模块,并且我想要使用它。正如我在示例中看到的,有两种可能的方法:这个:require(["JQuery"],function($){$.doSomething();})还有这个:var$=require("JQuery");$.doSomething();我的问题是,如果负载像RequireJS文档所说的那样是异步的,那么第二个约定如何工作?我如何确定$已定义并且第一行在第二行执行之前完成?
所以我刚刚开始尝试掌握require.js,但它似乎不起作用。当我使用标签将其包含在我的html中时:在chrome中加载页面时出现以下错误UncaughtTypeError:Cannotreadproperty'__MODULE_PATH__'ofundefined->require.js:538在firefox中我得到一个稍微不同的错误:TypeError:parentisundefined->require.js:538不知道我怎么会导致这个问题,因为它是require.js的全新安装,我的main.js中还没有代码。提前致谢 最佳答案