1

我的应用程序正在运行requireJS并使用两个文件进行设置:

main.js设置一切并app.js“运行”应用程序。

main.js看起来像这样:

/*jslint browser: true, indent : 2, nomen : true, sloppy : true */
/*global requirejs: false */
(function () {
    "use strict";

    requirejs.config({
        baseUrl: "../js"
      , paths: {
          app:          'app'
        , text:         'text'
        ...
      }
      , shim: {
        'overrides':     { deps: ['jquery'] }
        ...
      }
  });

  // init
  requirejs([ 'overrides',..., 'app'], 
    function( $, overrides, ..., App){
      App.start( $, overrides );
    });
}());

我的app.js

define([], function () {
    'use strict';
    var start = function () {
        require([ 'i18next'... ],
            function (i18n) {
                // stuff

            }
        );
    }
    return {"start": start};
});

我的问题是jslint抱怨return {"start": start};as unexpected return。但是,省略它会导致我的应用程序无法启动,因为App being undefined.

知道如何删除返回语句并仍然触发应用程序吗?或者如何调整以取悦 JSLint?我不想使用 JSHINT,所以请不要建议它。

4

1 回答 1

4

我首先添加缺少的分号:

define([], function () {
    'use strict';
    var start = function () {
        require([ 'i18next'... ],
            function (i18n) {
                // stuff

            }
        );
    }   // <============ here
    return {"start": start};
});

我怀疑这是 jslint 不高兴的真正原因。(我很惊讶这不是它所抱怨的......)

于 2013-01-29T06:25:50.543 回答