Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js r.js建筑后力矩js未定义_Backbone.js_Requirejs_Momentjs_Backgrid - Fatal编程技术网

Backbone.js r.js建筑后力矩js未定义

Backbone.js r.js建筑后力矩js未定义,backbone.js,requirejs,momentjs,backgrid,Backbone.js,Requirejs,Momentjs,Backgrid,是否有人在r.js构建中成功加载了moment.js(使用almond) 我正在使用backgrid和backgridMomentCell:在我构建main.min.js文件之前,一切都很正常。未定义构建后时刻,因此无法通过backgridMomentCell扩展找到 我尝试了几种选择(甚至是垫片),但都没有成功 如果某人有一个require.config,他/她可以共享它吗 编辑(很抱歉没有尽快回复,启动时间让我无法回复): 在构建文件BackGridMomentCell中,不断抛出“未定义时

是否有人在r.js构建中成功加载了moment.js(使用almond)

我正在使用backgrid和backgridMomentCell:在我构建main.min.js文件之前,一切都很正常。未定义构建后时刻,因此无法通过backgridMomentCell扩展找到

我尝试了几种选择(甚至是垫片),但都没有成功

如果某人有一个require.config,他/她可以共享它吗

编辑(很抱歉没有尽快回复,启动时间让我无法回复):

在构建文件BackGridMomentCell中,不断抛出“未定义时刻”错误

我在评论中要求的代码


requirejs.config({
    paths: {
        backbone: 'vendor/backbone-1.1.0',
        backbonePageable: 'vendor/backbone-pageable-1.4.1',
        backgrid: 'vendor/backgrid/js/backgrid-0.2.6',
        backgridPaginator: 'vendor/backgrid/js/extensions/paginator/backgrid-paginator',
        backgridMomentCell: 'vendor/backgrid/js/extensions/moment-cell/backgrid-moment-cell',
        bootstrap: 'vendor/bootstrap/js/bootstrap-3.0.1',
        bootstrapDatepicker: 'vendor/bootstrap-datepicker/bootstrap-datepicker-fda46bb',
        codemirror: 'vendor/codemirror/js/codemirror-3.20',
        codemirrorMarkdown: 'vendor/codemirror/mode/markdown/markdown',
        jsDiff: 'vendor/diff-1.0.7',
        fullCalendar: 'vendor/fullcalendar/fullcalendar-1.6.4',
        fullCalendarJqueryUiCustom: 'vendor/fullcalendar/jquery-ui-1.10.3.custom.min',
        jquery: 'vendor/jquery-1.10.2',
        marked: 'vendor/marked-0.2.10',
        select2: 'vendor/select2/select2-3.4.5',
        speakingurl: 'vendor/speakingurl-0.4.0',
        underscore: 'vendor/underscore-1.5.2',
        moment: 'vendor/moment.with.langs'

    },
    shim: {
        backbone: {
            deps: ['jquery', 'underscore'],
            exports: 'Backbone'
        },
        backgrid: {
            deps: ['jquery', 'backbone', 'underscore'],
            exports: 'Backgrid'
        },
        backgridPaginator: {
            deps: ['backgrid']
        },
        backgridMomentCell: {
            deps: ['backgrid','moment']
        },
        bootstrap: {
            deps: ['jquery']
        },
        bootstrapDatepicker: {
            deps: ['jquery']
        },
        codemirror: {
            exports: 'CodeMirror'
        },
        codemirrorMarkdown: {
            deps: ['codemirror'],
            exports: 'codemirrorMarkdown'
        },
        fullCalendar: {
            deps: ['jquery', 'fullCalendarJqueryUiCustom']
        },
        fullCalendarJqueryUiCustom: {
            deps: ['jquery']
        },
        select2: {
            deps: ['jquery']
        },
        underscore: {
            exports: '_'
        }
    }
});

我模块的头

。。。。

编辑3:


在我编译的main.js运行之前加载moment.js,但不是最佳的IMHO。

最可能的问题是您没有在构建文件中指定
findnestedependencies
true


看看这个提交(我的):

我认为这与不推荐使用moment的全局对象有关

2.4.0-在下一个主要版本中将删除全球导出的弃用版本


现在需要在特定模块中定义力矩。

我找到的最简单的两种方法:

1) 以RequireJS API中指定的格式包装backgrid-moment-cell.js。您可以在构建过程中使用API中提到的转换工具动态执行此操作

2) 在build.js中,需要即时单元格内联,并将findnestedependencies设置为false

问题是单元格代码在初始化时将
this
传递给自身,并查找“exports.moment”或“this.moment”

在相关注释中,在力矩单元的垫片中包含力矩是不必要的,从技术上讲,您应该包括下划线:

仅使用其他“垫片”模块作为垫片脚本的依赖项,或 没有依赖项的AMD库,并在它们之后调用define() 还可以创建全局查询(如jQuery或lodash)。否则,如果您使用 AMD模块作为垫片配置模块的依赖项,在构建之后, 该AMD模块只有在中填充代码后才能进行评估 生成将执行,并且将发生错误。最终的解决办法是 升级所有填充的代码,使其具有可选的AMD define()调用


Moment实际上是一个AMD模块。

我使用Moment.js和twitter引导,在没有ISSUE的情况下运行良好,你能分享你的代码和你需要做的工作吗?我尝试了但没有成功。(一个月前买了你的书,很棒,真的很有用)我确实在模块中定义了它,但同样的问题是:单独使用所有文件时效果很好,构建一个主文件时抛出错误直到现在才看到你的详细评论。谢谢正如注释所示,moment.js已为此进行了修复(但未检查)

define([
    'jquery',
    'fullCalendar',
    'underscore',
    'backgrid',
    'backgridPaginator',
    'moment',
    'backgridMomentCell',
    'backbone',
    'collections/ItemPaginatedCollection',
    'utils/BackgridCustomUriCell'
], function ($, _fullCalendar, _, Backgrid, _backgridPaginator, moment, MomentCell,Backbone, ItemPaginatedCollection, BackgridCustomUriCell) {

"use strict";