【发布时间】:2013-01-12 15:59:39
【问题描述】:
我的应用程序正在运行 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}; 为 unexpected return。但是,省略它会导致我的应用程序因为App being undefined 而无法启动。
知道如何删除返回语句并仍然触发应用程序吗?或者如何调整以取悦 JSLint?我不想用JSHINT,所以请不要推荐。
【问题讨论】:
-
没有错,但我几乎通过了 JSLint,所以……为什么要选择 JSHint。
-
取决于你对“通过测试”的认真程度。我将 linting 视为 HTML 和 CSS 验证,如果有理由违反规则,那么我不希望它打扰我,这就是我更喜欢 JSHint 的原因,您有更多选择来调整您的需求。
-
真的。但我有点卡在 JSLint 上。还是谢谢你的指点。
-
@frequent: "...但是我几乎要通过 JSLint,所以...为什么要满足于 JSHint..." 请记住,石碑上没有交付任何东西关于 jslint。其中大约一半是 Crockford 的 style 偏好,除此之外没有其他依据。 (另一半是有事实依据的好声音。) JSHint 的好处是它可以让你决定是使用 Crockford 的风格还是你自己的风格。
标签: javascript jquery return requirejs jslint