未捕获的错误:匿名的define()模块不匹配:函数定义(名称,全局)

use*_*566 12 javascript requirejs backbone.js

加载主干的requirejs文件时出现此错误.我尝试加载r.js,requirejs优化器,但我仍然坚持使用它.

Uncaught Error: Mismatched anonymous define() module: function definition(name, global){

"use strict";

var PubSub = {
        name: 'PubSubJS',
        version: '1.3.1-dev'
Run Code Online (Sandbox Code Playgroud)

以下是我的js:

define([
'jquery',
'underscore',
'backbone'
],function(){
subAccountRouter = Backbone.Router.extend({
  routes: {
  // Defining the routes
    'sub-accounts': 'subAccountList',
    '*actions': 'defaultAction'
  },
});
Run Code Online (Sandbox Code Playgroud)

似乎已经对requirejs define()调用函数进行了一些更改,不知何故无法弄清楚它.有没有人有想法?

编辑:::

下面是router.js文件.

    define([
       'jquery',
       'underscore',
       'backbone'
      ],function($, _, Backbone){
          SubAccountRouter = Backbone.Router.extend({
              routes: {
               'sub-accounts': 'subAccountList',
               '*actions': 'defaultAction'
              },


           initialize: function () {
              this.appContainer = $("#subaccount");
    //collections and models
              this.subAccountCollection = null;
            this.subAccountModel = null;
          },

      subAccountList: function(){
        var self = this;
        },
     defaultAction: function(){
        this.subAccountList();
      },
      });

    return {
       initialize: function() {
           Backbone.history.start();

          }
        };
     }); //main func
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?我检查了我的路径,他们似乎是正确的,我仍然不明白为什么这个问题仍然困扰我.. :(我已经尝试改变路线的路径,并将参数传递给 function($, _, Backbone)(如下图1所示) sol'n.但是我似乎仍然看到错误.有没有任何其他想法?

cs_*_*ckX 16

UPDATE

检查文档后 - 这实际上是他们讨论的第一个错误:

"如果您在HTML中手动编写脚本标记以加载带有匿名define()调用的脚本,则可能会发生此错误."

因此,请确保index.html中唯一的<script>标记(至少对于任何调用的脚本define())是requirejs的标记.

结束更新

您需要将参数传递给您的function()所以:

define([
'jquery',
'underscore',
'backbone'
],function(jquery, underscore, backbone){
subAccountRouter = Backbone.Router.extend({
  routes: {
  // Defining the routes
    'sub-accounts': 'subAccountList',
    '*actions': 'defaultAction'
  },
});
Run Code Online (Sandbox Code Playgroud)

如果你还在卡住的话,我最近写了一篇关于设置requirejs超简单帖子.