从RequireJS的文档(1.2.1)中,它有一个没有依赖项的简单名称-值对的示例
//Inside file my/shirt.js:
define({
color: "black",
size: "unisize"
});
它没有return语句,因此它看起来不像任何其他模块可以获得这些值
我将如何使用它或访问此处的值 如果将该模块包含在另一个模块中,则会公开其内容:
my/shirt.js:
define({
color: "black",
size:
main.js配置:
requirejs.config({
baseUrl : "./js",
paths : {
'jquery' : 'libs/jquery-1.9.1.min',
'jqm' : 'libs/jquery.mobile-1.3.0.min',
'json' : 'libs/jquery.json-2.4.min',
'jcache' : 'libs/jqache-0.1.1.min',
'cordova' : 'libs/cordova',
'f
我有一个这样定义的模型对象
blog.js
define({title: '', url: '', summary: ''});
我正在使用blog模型保存来自服务的数据,我需要填充blog数组。如何在另一个模块的循环中实例化一个新的blog
我尝试将blog作为require对象传入,但它在循环中保持它的引用,并一次又一次地留下相同对象的数组
othermodule.js
define(['blog'], function(blog) {
//... more code
$.each
此代码工作正常:
import modal = require('./modal');//modal path
class index{
constructor(){
var_modal = new modal();
}
}
export = index
如果我将require路径更改为.././widgets/personInfo/viewmodel,则在重建解决方案后,Visual Studio会给出错误:
无法解析外部模块.././widgets/personInfo/viewm
据我所知,导出仅适用于NodeJ,因为我甚至在node中见过它。Requirejs仅用于浏览器端。
这是正确的吗
require.js和exports之间的关系是什么 Node.js模块是根据CommonJS格式定义的。RequireJS允许您在传递给define的回调中包装以CommonJS格式定义的模块。此Node.js模块:
var foo = require("./foo");
function bar(whatever) {
foo(whatever+1);
}
expor
我有一个文件夹结构,如
-root
-pom.xml
-service
-web
-pom.xml
-src
-main
-test
-java
-javascript
-lib
-specRunner.js
-runner.html
在构建过程中,我使用管道来缩小和连接我的Java脚本。其中一部分是使用默认的uglify2 Optimizer对rjs处理的文件进行加密
我的任务是,我是否可以从uglification中排除文件,但仍然将它们包含在连接模块中?我特别想跳过已经缩小的文件,以缩短构建时间。这是一个好问题。你知道怎么做了吗?@Ophelia我找不到解决办法。与此同时,我实际上放弃了sbt RJ的使用。我现在直接使用它,它至少给了我一个丑陋的includeFilter:=…。这一点,加上sbt digest模块提供的
我试图在量角器测试中导入AMD模块(ES5中传输的ES6模块)。
我正在使用这个模式。页面对象就是我要导入的模块
以下是ES6代码:
import {HelloPage} from 'HelloPage';
describe('The demo app', function () {
beforeEach(function () {
browser.get('http://localhost:3000/index.html');
});
it('should say h
无法使用RequireJs加载AngularJs。请看下面的截图
我的AngularMin.js文件位于lib下,index.html位于web inf下。你能告诉我哪里出错了吗?你的main.js文件调用require(['main'],…)
a) 这是一个循环依赖
b) 您显示的代码中没有任何内容取决于角度,因此没有理由让RequireJS加载它。:D,我刚开始使用requirejJs和typescript。不管怎样,我确实弄明白了,现在问这个问题很愚蠢,但不管怎样,您可以从新手那里得到这
我为Requirejs设置了data main,并根据应该为我的所有脚本文件设置baseUrl的文档。但事实并非如此。
我的文件夹结构如下:
Home/Index.html
Content/scripts/main.js
Content/scripts/libs/require/require.js
Content/scripts/libs/jquery/require_jquery.js
Content/scripts/libs/jquery/jquery-1.7.1.mins.js
这是我
我们有一个大型的单页应用程序,大约有200个模块-
当我们使用优化器时,我们最终会将所有模块放在一个文件中,并将其丑化,等等。
工作得很漂亮
但我们的应用程序是一种多租户应用程序,每个用户不需要全部200个模块
我们可以将模块大致分为50个普通模块,如果用户类型为“A”,则需要100个模块,如果用户类型为“B”,则需要50个模块,等等
现在,如果用户类型为“B”,则下载的单个优化文件包含100个从未使用过的模块。不知何故,如果我们能够避免这些,文件大小将大大减少,这将真正提高性能
简而言之,我正
我如何在最新版本的RequireJS中使用Bing地图API?远程脚本URL为:
我可以添加这样的垫片吗
require.config({
/* ... */
paths: {
'Microsoft.Maps': 'http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0'
},
shim: {
'Microsoft.Maps': {
鉴于:
stringpremissions扩展objectpremissions
ObjectPremissions依赖于StringPremissions(它的一个方法返回子类)
premissions是objectpremissions和stringpremissions的看门人(确保在返回实例之前加载它们)
用户取决于先决条件
我有以下代码:
define(["ObjectPreconditions"], function(ObjectPreconditions)
{
consol
我有以下简单的配置。
我的源代码是简单的JavaScript。没有库、模块或其他任何东西。
似乎加载东西有一个特定的顺序,即使对于一个简单的测试系统来说,这似乎也很棘手
即使因果报应正确开始,我的天赋都没有执行。有什么问题吗
我的test-main.js就是这个
var tests = ['bootstrap'];
for (var file in window.__karma__.files) {
if (/spec\.js$/.test(file)) {
tests.push(fil
我的任务是实现requireJS
在清理之前,我们做了如下工作:
<!--jQuery-->
<!--It's included in script/config.js above-->
<script type="text/javascript" src="./script/jquery-ui-latest.min.js"></script>
<script type="text/javascript" src="./script/jque
我在这里描述了相同的问题:
但是有3-8个字母
如果我删除我的并手动添加JavaScript和CSS,我会发现缺少JumpUrl
我已尝试删除和,以查看duplet是否导致了问题,但事实并非如此
任何提示都会有帮助
我的Partials/Header.html
<div class="module-docheader t3js-module-docheader" style="height: auto;">
<div class="module-docheader-ba
我有以下代码:
define([],
function() {
var AppSettings = function(){};
AppSettings.prototype = {
init: function() {
var that = this;
//...
require(views,function(){
我正试图设置grunt来运行jasmine任务
这是我的Gruntile.js的jasmine json
jasmine: {
src: '../app/src/**/*.js',
options: {
specs: '../app/test/spec/**/*.js',
template: require('grunt-template-jasmine-requirejs'),
templateOptions: {
requireConfigFile
我目前正在尝试确定在Durandal应用程序中处理不同错误的最佳方法。我正在测试的一个场景是所需模块不存在的情况,即
define(['dummy'],函数(dummy){return{};});
其中虚拟不存在。我已将以下内容添加到我的main.js文件中,直接位于requirejs.config({…}):
requirejs.onError=函数(err){
console.log('全局错误',err);
};
但是从这里永远不会记录错误。控制台窗口中显示了来自Durandals s
我正在使用BrunchJS处理coffee脚本和资产编译。
该项目使用了几个早午餐插件,比如早午餐把手,它需要“commonjs”包装才能运行
从我的配置咖啡中提取
modules:
# We cant avoid require js wrapping since brunch modules use commonjs
# Otherwise Marionnette JS offers its own modules loading strategy
我有一个包含backbonejs、jquery和requirejs的项目文件夹,在使用requirejs优化器调用我的GrunFile脚本后,它会创建我的优化文件,在浏览器中像charme一样工作。但是我想缩小我的HTML文件,以便在应用程序中加载HTML文件时节省一些字节
在r.js优化之后,我尝试使用grunt contrib htmlmin,但是这个插件要求我定义每个HTML文件,但是我有很多文件,如果能定义要缩小的HTML文件夹,那就太好了
使用requirejs optimizer或任
我正在进行一个相当大的项目,我(慢慢地)找到了requireJS的细节。我可以说我喜欢它(这个概念),我怀疑我是否会回到“旧的方式”。也就是说,我想从一开始就开发好的栖息地
我有一个名为application.js的主模块
'use strict';
/**
* Primary application module.
*
* @param {function} jquery | jQuery library. http://jquery.com/
* @returns {object
我正在为Webshop开发一个基于模块的JavaScript插件,并使用require.js作为模块加载器将其集成到客户的HTML模板中
这背后的想法是让客户只将一行代码放入他们的模板中,然后自动加载所有代码
当网店有第三方脚本将自己匿名定义为AMD模块,但包含在单独的标记中时,我会遇到问题。在这种情况下,会出现如下错误:
Uncaught Error: Mismatched anonymous define() module:
[..]
http://requirejs.org/docs/er
我有一个vue实例,它是VUE2。代码如下。似乎将axios添加到原型中,然后返回新的vue
(function () {
define('newVueInstance', ['axios'], (axios) => {
let newVueInstance = {
VERSION: '1.0',
};
const Vue = require('vue').default;
const axios_instance = axios.crea
我想写一个.ts文件,它将生成一个像这样的js文件
通过编译--moduleamd,我可以导入模型,还可以引用jquery、backboneJs或任何其他js文件。
但是我怎样才能像requireJs那样导入一个externerhtml文件呢?我认为TypeScript编译器还不支持这一点,尽管如果我错了,我很高兴被纠正。你可以开始一个新的工作
只要声明define函数,您就可以在TypeScript文件中手动精确设置它
define(["require", "exports", "js/mod
我正在尝试使用requireJS的r.js缩小我的代码
我的命令是
$node node_modules\requirejs\bin\r.js name=main out=main-built.js baseUrl=.
我得到以下错误
timers.js:103
if (!process.listeners('uncaughtException').length) throw e;
我试图在我的应用程序中基于注册为所需的模块驱动一些自定义逻辑,因此我正在寻找一种方法来获取所有模块名称及其路径,是否可能?我尝试使用特殊模块“module”,但它不会返回路径信息。非常感谢您的帮助。您所说的“注册”是什么意思?您是指在require.config中配置为路径,还是指在特定时间点实际加载到浏览器中的路径?
如何使用Google Chrome的(F12)功能在Durandal的viewmodels中设置断点
加载要调试的页面
在Chrome中击中F12
单击“源”选项卡
在左边的窗格中,您应该能够看到所有不同的视图模型js文件
通过单击其中一个js文件来选择它
通过单击源代码视图中的代码行号来设置断点
您可以刷新浏览器页面,断点将保持不变
此外,考虑禁用开发工具窗口中的缓存(使用窗口右下角的“齿轮图标”)否则,需要的模块可能会意外地被缓存,并且您的更改不会出现。您可以将require.config设
我使用require.js和moment.js,希望在加载任何模块之前全局设置语言。然而,我似乎找不到合适的方法来运行保证首先运行的init方法
i、 e.在我的main.js中
requirejs(['mymodule'], function(mymodule) {
moment.lang('fr'); // This gets run second, but I want it to get run first
mymodule.printMonth();
});
mymodule
我使用Require.js“AMN”加载我的文件,这是我的HTML文件
<script data-main="js/main.js" href="js/require.js"></script>
但我没有得到任何安慰。我所有的道路都是正确的
我的index.html文件位于js filder的父级
请帮助我解决这个问题。AMD的jQuery模块应该始终使用小写。检查浏览器使用chrome或fiddler中的开发者工具请求文件时使用的路径。这样,您将知道您是否正确配置了它
RequireJS会自动为每个模块名添加一个“.js”扩展名,一个已知的技巧是在末尾添加一个?,详细说明如下
问题是,添加问号意味着缓存和代理服务器通常会断定这些是动态文件,而不是缓存它们。如果我控制这些缓存/代理服务器,我想这是可以配置的,但是在我的服务器和客户机之间,可能有一个代理服务器的下游,这是我无法控制的
那么,除了打问号之外,还有没有其他方法可以使RequireJS不添加.js扩展?没有方法配置require.js来实现您想要的功能。但您可以重写require.load方法并进行ur
我正在构建一个模块化的单页应用程序,它使用来自不同来源的多个require配置文件。我希望在我的应用程序中能够使用特定类型的所有模块的列表。大概是这样的:
define('module-type/an-implementation',...)
define('module-type/another-implementation',...)
require('module-type/*', function(modules){
$.each(modules,function(m){ m.
我试图找到一个明确的答案,但找不到:RequireJS支持HTTP/2的好处吗?虽然大多数浏览器支持HTTP/2(用于HTML文档、图像、脚本等),但这些浏览器中的大多数JavaScript引擎似乎都不支持HTTP/2,因此,RequireJS也缺乏HTTP/2支持——至少在我看来是这样。另外,EcmaScript 6将引入HTTP/2支持(有人说),但我也找不到太多关于这个主题的内容。有人能更清楚地解释这一点吗?RequireJS和HTTP/2之间没有直接关系。这意味着HTTP/2需要由浏览器
我为Ractive.js测试了新的主干适配器,它就像一个魔咒,将其加载为
来自ractive.backbone.js(未捕获引用错误:未定义ractive)
在AMD中加载Ractive适配器的最佳实践是什么?没有一种真正的方法,因为每个AMD项目都是不同的(有些人用定义函数包装主干,有些人使用垫片配置,每个人都将内容组织到不同的文件夹结构中…)。不过,适配器基本上需要在既有Ractive又有Backbone的词法范围内运行
因此,一种方法是创建一个简单的包装器模块,如下所示:
定义([“rac
我不熟悉require.js。我在IE polyfill中使用html5shiv,它只在IE中执行
现在,如何在require.config中定义IE特定条件
require.config({
paths: {
jquery: 'libs/jquery',
html5shiv : 'libs/html5shiv'
}
});
html5shiv应该只在IE中加载,html5shiv代码需要在中加载,如果您使用其他方式加载html5shiv.js它的内置垫片代码将不会被及
My javascript resource request/myscript.js在响应头中包含以下内容
Cache-Control must-revalidate
Content-Length 15
Content-Type text/javascript;charset=UTF-8
Date Tue, 14 Oct 2014 11:32:01 GMT
Expires Mon, 14 Oct 2024 10:54:04 GMT
Last-Modified Thu, 14
重要信息:我正在使用编译为ES5的TypeScript
我的最终目标是拥有模块化的规范,可以动态加载帮助程序并简化PageObject模式的使用。类似于(我将在问题末尾发布我的dragrator.conf.js文件):
您可以使用“amdefine”lib()完成此操作
将“amdefine”:“>=0.1.0”包含在您的设计文件中,并添加require('amdefine/intercept')到量角器配置中的onPrepare函数。它将自动插入以下代码段
if(typeof define!=
我正在尝试将引导与requirejs一起使用。到目前为止,jquery、下划线和bootstrap都可以正常加载,但有一个库没有加载:bootstrap tagsinput。如何调试requirejs并查看此库是否正在加载
这是我的common.js
requirejs.config({
shim: {
'jquery': {
exports: '$'
},
'unders
我在html页面上调用对象AjaxForm
<script>
require(['app', '/assets/build/js/app/ajaxform.js'], function (a) {
a.AjaxForm.initialize({$_modx->getPlaceholder('AjaxForm.params')});
});
</script>
我的ajaxform.js文件
define('a
我很好地配置了require.js,它工作正常,但当我在ASP.NET Core 3.1中添加标识页时,require js在加载脚本文件时开始出现404错误,jquery、jquery验证和jquery.validate.unobtrusive。当我检查控制台时,路径是错误的,它试图在require.js文件目录(正如您所知,它是默认目录)附近查找这些文件,但在我的配置文件中,我也很好地配置了路径,并在我的其他页面中工作,但在标识页面中不工作
这里是我的require.js配置文件
requi
我尝试使用requireJS优化器将所有脚本打包到一个文件中,但我无法克服一个问题
我的requireJs配置是
var require = {
// 'baseUrl': 'static/scripts',
'paths': {
'external': 'global/external'
},
'waitSeconds': 2,
// 'enforceDefine': true,
'deps': ['external/
我使用插件!文本,并希望在通过r.js进行优化后,用户可以编辑自己的模板。但优化后我得到一个错误:不允许动态加载
build.js
{
baseUrl: "f/app",
appDir: "..",
dir: "dist",
modules: [
{
name: "catalog"
}
],
stubModules: ['text'],
optimizeAllPluginResources: false,
我正在努力让jasmine及其ConsoleReporter使用require.js在主干应用程序中工作。我只看到了库的硬编码(这是我更愿意避免的)
在我的主干应用程序中,我创建了测试功能(我更愿意将其保留在那里,以测试模型之间的交互):
和run.js(我得到console.log“应该”很好,但与失败的测试无关):
jasmine和jasmineConsoleReporter的垫片为:
jasmine: {
exports: "jasmine"
},
jasmineConsoleRe
我试图在NodeJS项目中使用摩卡的因果报应,但我得到了一个错误:
尚未加载上下文的“模块名”TestStub:\ u。请使用require([])
"
不确定我应该在哪里添加测试存根文件
此外,当我使用“Karma init”配置Karma时,我要求能够使用requireJS,但不知道要添加到Karma的配置文件在哪里。有一个用于测试的配置文件和另一个用于代码的配置文件,我需要同时包含这两个文件。Karma用于浏览器测试。如果你想用karma测试你的服务器端nodejs代码,你会失败。。。也许
在TypeScript中,我可以使用RequireJS导入模块:
import Foo = require("common/Foo"); // Foo is one of my TypeScript exported classes.
class Bar {
// Wooohooo! I can use Foo here, complete with intellisense!
new Foo(1, "ab").zanzibar();
}
但有时我不想在真正需要之前加载Foo,
我们正在使用主干网和requirejs重组我们的前端。是否可以将Deezer js脚本与requirejs一起使用,或者我们是否需要全局导入脚本?在询问此问题之前,您是否进行过调查?@kryger有关您的信息,Deezer支持人员会在此处指导您提问,而不是向他们发送电子邮件。因此,如果一个问题得到了回答,人们在未来寻找答案时可以更快地找到答案。下一次在成为傻瓜之前,先自己做一些调查。我们从未尝试以这种方式加载SDK,但我认为它不会正常工作。你可以尝试,如果你想,但我不能保证你没有副作用。他们似乎
目前,我从一篇博客文章和主应用程序的原始requirejs主脚本中获得了以下内容:
require.config{
baseUrl:'js',
路径:{
domReady:'lib/domReady',
jquery:'lib/jquery-1.10.2',
引导:“lib/bootstrap”,
主干:“lib/backbone”,
下划线:“lib/下划线”,
text:'lib/text',
拉斐尔:“自由/拉斐尔”,
raphaelPlugins:'lib/raphael.plugins
我正在尝试迁移一个站点,以使用RequireJS来管理它的JS依赖关系。我还想把一些LIB捆绑在一起
目前,我们正在构建一个base.min.js,它包括下划线、jquery、引导和主干。它们在我们的网站上随处可见,因此一起为它们服务是有意义的
尽管如此,我认为我们在逻辑上应该将三个LIB按名称分开,因此我编写了以下require.config:
require.config({
baseUrl: '/s/js/libs',
paths: {
app: '.
我想用RequireJS将数据检索与localstorage synchro分开。
为此,我有一个模块从适配器获取数据并将其存储到window.myData对象。
然后,当loadSuccess完成时,我传递另一个模块来运行从window.myData到localStorage的同步
当我调用AdapterService.retrieveRoomsFromServer(“john”、“doe”)时,对worklight的调用已完成,但出现了一个javascript错误:
TypeError: C
我正在尝试使用requirejs来加载openlayers 3模块。
我像这样加载ol3 layerswitcher库-
require(["./ol3-layerswitcher"],function(layerSwitcherObj)
{
console.log(layerSwitcherObj);
});
//在ol3 layerswitcher文件中,我必须添加ol.js依赖项,比如
require(["
1 2 3 4 5 6 ...
下一页 最后一页 共 12 页