CodeKit中未定义JSHint主干
JSHint Backbone not defined in CodeKit
一个小型测试应用程序的设置如下:
init.js
:
//@codekit-prepend "vendor/jquery-1.7.2.js"
//@codekit-prepend "vendor/underscore.js"
//@codekit-prepend "vendor/backbone.js"
// Setup namespace for the app
window.app = window.app || {};
//@codekit-append "models/Ride.js"
Ride.js
:
(function() {
window.app.Ride = Backbone.Model.extend({
initialize: function() {
console.log("Ride initialized");
}
});
})();
CodeKit的JSHint检查报告未定义Backbone
和console
。我在这里错过了什么?
JSHint不运行您的代码,因此它不知道您在其他文件中包含的任何模块。您必须特别告诉它您计划在Ride.js
中使用的所有全局变量。在您的情况下,它将是:/*global Backbone */
。默认情况下,console
是不允许的,因为运送带有已填充console.log
调用的软件不是一个好主意。要删除此警告,可以使用/*jshint devel:true */
。
所以最后你的文件应该是这样的,以通过JSHint检查:
/*jshint devel:true */
/*global Backbone */
(function() {
window.app.Ride = Backbone.Model.extend({
initialize: function() {
console.log("Ride initialized");
}
});
})();
更多信息请点击此处:http://www.jshint.com/options/
Bryan在这里。CodeKit在完整的全局上下文中检查文件。(也就是说,它首先将它们组合在一起,因此在早期文件中声明的变量在后期文件中是有效的。这假设您使用CodeKit来组合文件,可以使用@CodeKit prepend/append语句,也可以使用CodeKit本身设置的拖放导入链接)。如果您以其他方式组合JS文件(例如构建脚本),那么CodeKit不会意识到这些文件是一起的,因此它会分别检查每个文件。
您可以在上面的答案中使用注释标志,也可以直接在CodeKit中配置JSHint的选项。请参见首选项窗口(如果您的项目使用项目级别设置,请参见项目设置区域)。您也可以在那里输入自定义全局变量,这将删除这些警告。
干杯!
相关文章:
- 主干-不管怎样,检查事件以前是否绑定过
- 主干模板:index.jst.eco到index.jst.ejs
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 主干集合重置和解析
- 主干窗体隐藏字段未呈现
- 我应该如何检查主干.主干.模型更改时查看
- 如何永久停止jshint'只读'警告/错误
- 取消绑定主干视图事件
- 主干-从模板中迭代的集合中获取特定的模型
- 主干模型更改事件只触发一次
- 如何覆盖主干中的extend方法
- JShint-.jshintrc中的ES6有esversion,但仍收到警告(使用atom)
- 如何测试主干视图是否正确侦听特定事件
- 具有服务器端呈现的HTML片段的主干模型
- 如何在主干js中解析视图中的消息
- 重新加载主干.在Ajax请求后查看.怎样
- 主干中的模型属性未定义
- 正在Ajax调用上初始化主干视图
- CodeKit中未定义JSHint主干
- 带有主干的警告JSHint:应为赋值或函数调用,但实际看到的却是表达式