gulp durandal TypeError:req.toUrl不是函数



我试图在durandal项目中实现gump,正如durandal gump文档中所解释的那样

main.js文件已成功构建,但当尝试单击将打开模式对话框的内容时,它将显示以下错误(firefox):

TypeError: req.toUrl is not a function
url = req.toUrl(nonStripName),
main.js (line 48306, col 16)

这是我在gullfile.js 上的配置

var gulp        = require('gulp');
var durandal    = require('gulp-durandal');
gulp.task('default', function(cb)
{
    durandal({
            baseDir: 'public_html/app',
            main: 'main.js',
            output: 'main.js',
            almond: true,
            minify: false
        })
        .on('error', function(err) {
            console.error('error. ' + err);
        })
        .pipe(gulp.dest('public_html/build'))
        .on('end', cb);
});

我也得到了这个答案https://stackoverflow.com/a/23329383/1889014

但我不确定这是否与我的问题有关。

有人能帮助或引导我度过难关吗?谢谢

我在使用gump、Durandal和模态对话框时也遇到了这个问题。在视图模型中添加一个返回视图url的getView函数可以修复它

例如

function getView() {
    return "views/theView.html";
}

我确信一定有更好的方法来解决这个问题,但这似乎在我需要的几个地方都有效。

由于使用错误的大小写写入视图名称,我遇到了此错误。例如,如果文件名为myView.html,但您需要"myView"。

我不使用gulp-durandal构建,因为它会给出非常奇怪的错误,而requirejs直接工作得更好。我通过在requirejs构建配置中手动包含所有视图来修复这个错误。

include: [
    'text!customWidgets/alertsSection/title.html', //custom
    'text!customWidgets/alertsSection/body.html', //custom
    'text!customWidgets/exclusions/body.html', //custom
    'text!customWidgets/exclusions/title.html', //custom
    'text!customWidgets/submit/body.html', //custom
    'text!customWidgets/submit/title.html', //custom
]

由于durandal的性质和视图的动态加载,我的包中还有更多的文件。。。但我不想向所有人发送垃圾邮件:)

相关内容

  • 没有找到相关文章

最新更新