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的风格还是你自己的风格。