在使用捆绑和缩小的ASP.NET MVC 5项目中,我有一个Javascript视图模型,我填充在.cshtml文件中。视图模型通过ko
引用了淘汰赛,效果很好。但是,来自Web Essentials的JsHint输出会针对'ko' is not defined
的每个引用报告警告W117 ko
。
.js文件看起来像这样:
/* exported MyViewModel */
function MyViewModel(viewModel) {
self.someValue = ko.observable(); // JsHint warning on this line.
...
}
.cshtml文件看起来像这样:
...
@section Scripts {
<script>
ko.applyBindings(new MyViewModel(ko.mapping.fromJS(@Html.Raw(Json.Encode(Model)))));
</script>
}
如何保持“未定义”警告的好处,但要避免这些错误警告?
答案 0 :(得分:24)
滚动到.jshintrc文件的底部并添加:
"globals" : { "ko": false} // additional predefined global variables
这会阻止jshint抱怨ko,但仍然会警告你其他未定义的符号。
请注意,您也可以在每个文件的基础上执行此操作,方法是将此评论放在javascript文件的顶部。
/*global ko*/
答案 1 :(得分:4)
新的Web Essentials也可以从父目录中读取.jshintrc。
这样可以将.jshintrc添加到版本控制中,以便与所有开发人员共享它,而无需编辑各个工作站上的全局JSHint设置。