1

次のコードは、js/window/startup.js にあるモジュールを jquery、underscore、および Backbone の依存関係と共にロードするのに適切ですか?

require.config({
  baseUrl: 'http://localhost/js/',
  path: {
    jquery: '/lib/jquery-1.9.1.min',
    underscore: '/lib/underscore-1.4.4',
    backbone: '/lib/backbone-1.0'
  }
});

require([
  './window/startup',
  'jquery',
  'underscore',
  'backbone',
], function(Startup){
  Startup.init();
});

js/window/startup.js のコード:

define(function (require) {
  var $ = require('jquery');
      _ = require('underscore');
      Backbone = require('backbone');

  //Test to see if module is being fired
  console.log('The module code has been executed!');

  var init = function(){
    /* SOME CODE */
    //Test to see if the init function has fired
    console.log('The initialize function has fired!');
  }

  return {
    init: init
  }

});

すべてドキュメントに準拠しているように見えますが、このコードを実行すると、2 つのコンソール メッセージのどちらも表示されません。

4

1 に答える 1

2

コード全体に多数の構文エラーが広がっています。実際の例については、このプランカーを確認してください。

あなたが間違っているのは次のとおりです。

require.config({                         // NEED PARENTHESIS HERE
  baseUrl: 'http://localhost/js/',
  paths: {                               // SHOULD BE paths, NOT path
    jquery: '/lib/jquery-1.9.1.min',
    underscore: '/lib/underscore-1.4.4',
    backbone: '/lib/backbone-1.0'
  }
});                                      // NEED END PARENTHESIS HERE

require([
  './window/startup',
  'jquery',
  'underscore',
  'backbone'                             // GET RID OF TRAILING COMMA
], function(Startup){
  Startup.init();
});

そして、あなたの他のファイルで:

define(function (require) {              // GET RID OF EXTRA PARENTHESIS IN HERE
  var $ = require('jquery'),             // SHOULD BE COMMA, NOT SEMICOLON
      _ = require('underscore'),         // SHOULD BE COMMA, NOT SEMICOLON
      Backbone = require('backbone');

  //Test to see if module is being fired
  console.log('The module code has been executed!');

  var init = function(){                 // NEED AN ASSIGNMENT, INSTEAD OF JUST var fn() {}
    /* SOME CODE */
    //Test to see if the init function has fired
    console.log('The initialize function has fired!');
  };

  return {
    init: init
  };

});                                      // NEED END PARENTHESIS HERE

構文エラーを報告するコード エディターを使用することを強くお勧めします。これは、このような問題を回避するのに役立ちます。

于 2013-08-05T21:41:40.330 に答える