草庐IT

rhel7-amd

全部标签

Javascript: 'require' 是 AMD 中的同步方法(异步模块定义)吗?

'require'在AMD(异步模块定义)中是同步的吗?如果是这样,是什么使该规范异步?如果我的代码中间有require()(它还没有被加载),它会停止执行吗?会说话的浏览器端。 最佳答案 这里有两个不同的synchronous概念。第一个是“它会停止我的整个网页,坐等文件吗?”。答案是否定的。如果您有一个具有依赖项的脚本,RequireJS不会这样做。如果使用得当,它会使用promise系统。这意味着如果您发送回调并定义对该文件的要求,则在加载所有必需的文件之前不会运行回调。如果其中一个必需文件中有require,则THAT回调将

javascript - 如何判断一个 JavaScript 库是否支持 AMD

所以我开始学习如何使用requirejs并将其与其他一些可用的javascript库结合使用。据我了解,您需要填充所有不是Asynchronousmoduledefinitioncompatible(AMD)的库。,但除了在库代码中搜索“require”之外,是否有更简单的方法来确定哪些库支持AMD,哪些不支持?例如,我知道jquery支持AMD但jqueryui不支持,我只知道这一点是因为“有人告诉我”。 最佳答案 这就是jQuery声明其AMD的方式。这只是一堆if语句。除非库有一些library.AMD===true,否则无法

javascript - 如何扩展用 AMD 定义的 Javascript 模块?

首先回顾一下历史,我们有一个由许多本质上是模块的javascript文件组成的引擎。这些模块返回分配给全局范围的单个类,尽管在指定的命名空间下。引擎本身用于显示电子学习内容,每个不同的电子学习类(class)需要略有不同的需求,这是我们根据必要的功能将javascript文件包含到页面中的地方。(只有一个入口页面)。我一直在权衡是否值得更改为AMD、require.js和r.js,或者是否最好继续使用我们当前的系统,该系统包括页面上所需的所有内容并将其最小化为一个脚本。我去AMD的最大问题之一是似乎更难轻松地扩展类(class)。例如,有时我们必须稍微调整原始类的行为。因此,我们在页面

javascript - 将现有的 AMD 模块导入 ES6 模块

我有一个现有的应用程序,其中我使用RequireJS定义了AMD模块。我在我的项目中广泛使用requirejs的“text”和“i18n”插件。我最近一直在试验ES6模块,并希望在我的应用程序中创建新模块时使用它们。但是,我想重用现有的AMD模块并在定义我的ES6模块时导入它们。这可能吗?我知道Traceur和Babel可以从ES6模块创建AMD模块,但这只适用于不依赖于现有AMD模块的新模块,但我找不到重用现有AMD模块的示例。任何帮助将不胜感激。这是我现在开始使用所有ES6好东西的障碍。谢谢 最佳答案 是的,这是可以做到的。创建

javascript - 如何在 RequireJS (AMD) 环境中访问 node.js 模块?

我有一个使用RequireJS(2.1.14)作为模块系统的前端SPA。它基本上引导并加载Backbone.Marionette应用程序。在main.js中:require.config({baseUrl:'/js',waitSeconds:200,nodeRequire:require,paths:{jquery:'//cdn/jquery.min',underscore:'//cdn/underscore-min',//moreplugins},shim:{//shimmingstuff}});require(['marionette','vent','config/templat

javascript - 要求使用 AMD 模式为 jQuery UI 事件提供错误

在我的代码中,test.js依赖于不使用requireAMD模式的jquery-ui,而test.spec.js依赖于使用AMD模式的jquery-ui、test.js。运行test.spec.js时能否在test.js中动态加载jquery-ui的依赖。require.config({baseUrl:'/demo',paths:{'jquery':'../library/jquery-1.11.1','jquery-ui':'../library/jquery-ui-1.11.4'},shim:{'jquery':{exports:'jQuery'},'jquery-ui':{dep

javascript - 与 AMD (requirejs) 一起获得闭包编译器类型安全性的最可靠方法是什么?

虽然JavaScript及其许多库(jQuery、RequireJS)允许创建许多很棒的网站,但在考虑构建更大的网站时,我发现它缺乏类型安全性令人望而生畏。Google有一个很棒的closurecompiler这让你可以annotate你的JavaScript和JSDoc并检查它的类型。在试用了其丰富的类型系统后,我预计这将大大提高生命周期更长的JavaScript项目的可维护性。唯一的问题是它不能很好地与AMD一起玩像RequireJS这样的库。有一个实验--transform_amd_modules连接JavaScript文件并通过消除它来处理作用域的标志。然而,这似乎有点反模式,

javascript - 我们可以从 requirejs 中的模块导出多个非 AMD 函数吗?

如果我有一个名为old.js的非AMD模块,并且在这个脚本中我定义了两个函数f1和f2。我需要使用它们,如何导出两者?require.config({paths:{"jquery":"https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min",},shim:{"old":{deps:["jquery"],exports:["f1","f2"]}},urlArgs:"bust="+(newDate()).getTime()});这行不通。我会得到split错误。该文档没有提到多个(http://requirejs.org/

javascript - 使用 require.js 加载非 amd 模块

目前我正在为一个有趣的副项目使用require.js我正在工作,除了一个名为prism.js的代码语法高亮插件外,一切正常。我可以看到插件正在通过Chrome中的网络选项卡提取,但插件未初始化。我不确定这是需求问题还是插件问题,想知道是否有人可以提供帮助。下面是我的main.js:require.config({//3rdpartyscriptaliasnamespaths:{//CoreLibrariesmodernizr:"libs/modernizr",jquery:"libs/jquery",underscore:"libs/lodash",backbone:"libs/bac

RequireJS/AMD 模块中的 JavaScript 代码覆盖率

简短且看似愚蠢的问题,因为它如此简单而且您认为无处不在:有没有人获得任何类型的代码覆盖率以在RequireJS前端项目(非NodeJS)中工作?由于TDD方法在JS世界中的流行以及AMD开发的接管,这似乎是一个愚蠢的问题。我已经尝试了一百万种方法,但都缺乏。我的项目是一个带有Jasmine单元测试的Backbone项目:1)带有Coverage插件的JSTD。JSTD无法正确加载和检测AMD模块。如果我在单个js文件上运行JSTD(由RequireJS优化器组合),那么代码覆盖率会很好地工作,除了然后收集覆盖率并在整个文件上定义指标。太好了,这没用,因为它包含第3方库,而且因为我无法针