我正尝试用requirejs:production任务构建我的Grunt/RequireJS应用程序,我得到了以下输出:
Running "requirejs:production" (requirejs) task
>> Tracing dependencies for: ../bower_components/almond/almond
>> RangeError: Maximum call stack size exceeded
>> In module tree:
>> main
>> models/session
>> views/root
>> navigation
>> permissions
>> text
{ [Error: RangeError: Maximum call stack size exceeded
In module tree:
main
models/session
views/root
navigation
permissions
text
]
originalError:
{ [RangeError: Maximum call stack size exceeded]
moduleTree:
[ 'text',
'permissions',
'navigation',
'views/root',
'models/session',
'main' ],
fileName: '/Users/zensavona/softwaredev/projects/haze/t3-web/web-admin/src/main/bower_components/text/text.js' } }我认为它所说的代码是:
define(["backbone", "models/permissions", "text!/ducks/api/Permissions/Current"],
function(Backbone, Permissions, permissionJSON) {
if (permissionJSON.indexOf("<center><h2>Login</h2></center>") > -1) {
return new Permissions();
} else {
var data = JSON.parse(permissionJSON);
return new Permissions(data);
}
});我的第一本能是某种循环依赖(?)但我一个也看不见。这与我的代码或text模块有关吗?
发布于 2014-08-20 19:05:24
FWIW,我无法解决这一问题,并通过删除所有的text一起修复它。幸运的是,这是我唯一需要它的地方,我用一个async: false jQuery调用替换了它(参见下面)。
define(["jquery", "backbone", "models/permissions"],
function($, Backbone, Permissions) {
var permissionJSON = "";
$.ajax({
type: "GET",
url: '/ducks/api/Permissions/Current',
async: false,
success: function(data) {
permissionJSON = data;
}
});
if (permissionJSON.indexOf("<center><h2>Login</h2></center>") > -1) {
return new Permissions();
} else {
return new Permissions(permissionJSON);
}
});发布于 2015-04-24 10:53:26
我在requireJS 2.1.15中遇到了这个问题。问题似乎是html扩展不是路径的一部分。
define([
...
'text!templates/user/elements/profile.moderate.menu' //.html extension is missing
]...一旦我增加了扩展,事情就开始工作了。
define([
...
'text!templates/user/elements/profile.moderate.menu.html'
]...https://stackoverflow.com/questions/25399978
复制相似问题