Javascript 如何修复JSLint调用requireJS应用程序时出现的意外返回?

Javascript 如何修复JSLint调用requireJS应用程序时出现的意外返回?,javascript,jquery,return,requirejs,jslint,Javascript,Jquery,Return,Requirejs,Jslint,我的应用程序正在运行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"

我的应用程序正在运行
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
抱怨
返回{“start”:start}作为
意外返回
。但是,忽略它将导致我的应用程序无法启动,因为
应用程序未定义


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

我先添加缺少的分号:

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

            }
        );
    }   // <============ here
    return {"start": start};
});
定义([],函数(){
"严格使用",;
var start=函数(){
需要(['i18next'…],
功能(i18n){
//东西
}
);

}//我首先添加缺少的分号:

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

            }
        );
    }   // <============ here
    return {"start": start};
});
定义([],函数(){
"严格使用",;
var start=函数(){
需要(['i18next'…],
功能(i18n){
//东西
}
);

}//MAGIC!成功了。不可能是当函数设置为
var x=function(){}时,
jslint
没有寻找分号!!;!!
现在,可以吗?@frequent:我真的很惊讶它错误地得到了错误消息,但我很高兴它被修复了!MAGIC!成功了。当函数设置为
var x=function(){!!;!!
现在,可以吗?@frequent:我真的很惊讶它收到了错误消息,但我很高兴修复了它!没有问题,但我几乎通过了JSLint,所以…为什么要接受JSHint。这取决于你对“通过测试”有多认真。我将linting视为HTML和CSS验证,如果有违反规则的理由,那么我不想让它打扰我,这就是为什么我更喜欢JSHint,您有更多的选项可以根据您的需要进行调整。没错。但我有点被JSLint卡住了。仍然感谢指针。@frequency:“…但我几乎要通过JSLint,所以…为什么要满足于JSHint…”记住,石碑上没有关于jslint的内容。其中一半是Crockford的风格偏好,除此之外没有其他依据。(另一半是有事实依据的好声音材料。)JSHint的好处在于它可以让你决定是使用Crockford的风格还是你自己的风格。没什么错,但我几乎通过了JSLint,所以…为什么要接受JSHint呢?这取决于你对“通过测试”的认真程度。我将linting视为HTML和CSS验证,如果有违反规则的理由,那么我不想让它打扰我,这就是为什么我更喜欢JSHint,您有更多的选项可以根据您的需要进行调整。没错。但我有点被JSLint卡住了。仍然感谢指针。@frequency:“…但我几乎要通过JSLint,所以…为什么要满足于JSHint…”记住,关于jslint,石碑上没有任何内容。其中大约一半是Crockford的风格偏好,除此之外没有其他依据。(另一半是有事实依据的好声音材料。)JSHint的好处在于它让你决定是使用Crockford的风格还是你自己的风格。