使用 grunt 检查单个 javascript 文件时如何解决依赖关系
How do I resolve dependencies when linting single javascript files with grunt?
我想将我的应用程序逻辑分成多个Javascript文件,以确保理智和开发人员友好性,存储在/src文件夹中。在构建过程中,这些文件应被检查并连接到/dist/app.js。我在我的构建过程中使用 grunt,因为它已经带有方便的 lint 和连接任务。
+ |- 咕噜咕噜.js |- 自述文件 |-供应商 |-骨干.js |- 来源 |- 核心.js |- 用户.js |- 区 |-应用.js
我遇到了一个烦人的问题。我使用.js backbone 作为应用程序结构,我的大多数源文件都是通过扩展 Backbone.Model 来定义模型开始的。在检查这些文件时,JSHint抱怨没有定义Backbone,这是正确的 - backbone驻留在它自己的目录中。以正确的顺序包含所有必要的脚本是我认为在 html 中完成的事情。每个单独的源文件应该只知道它自己。
我知道我可以通过在 grunt 中将 lint 的 undef 标志设置为 false 来抑制这些未定义的警告.js但我想将其设置为 true 以便在我的应用程序中收到有关其他未定义变量的警告,因为它是指向拼写错误的常见指针。有没有一种干净的方法来告诉 grunt(或 lint)在 lint 之前要包含哪些文件?我的构建过程或应用程序体系结构是否做错了什么?或者这只是我必须忍受的东西?
jshint
选项允许您在 grunt.js 文件中指定来自您正在使用的其他库的全局变量列表:
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: false,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
eqnull: true,
browser: true
},
globals: {
jQuery: true,
Backbone: true,
_: true
}
},
请注意底部的"globals
"设置。这允许 JSHint 忽略这些变量,但仍运行您的 undef: true
设置(如上所示)。
另一种方法(不依赖于 grunt)是在 js 文件中添加一个 jshint 注释:
/* global Backbone, jQuery, _ */
相关文章:
- 如何解决Yii中的页面刷新问题
- 测试Angular Service解决错误回调中的promise
- 气质的“nestRemoting()”有时可以'找不到关系
- 如何在Parse中创建一对多关系
- Ext.js从json构建模型关系的问题
- 如何解决Access Control Allow Origin错误
- 如何解决这种情况下的非法调用类型错误
- 简单的ES6承诺问题-交换解决和拒绝参数
- JSDoc:模块和名称空间之间的关系是什么
- 使用 grunt 检查单个 javascript 文件时如何解决依赖关系
- 如何解决存储中操作之间的依赖关系
- 具有依赖关系的UMD的终极JS模块解决方案
- 我将如何解决余烬数据中的这种一对多态关系
- 根据依赖关系加载不同的模板解决使用 ng-route 时出错
- Django,推荐在块中声明和解决JavaScript依赖关系的方法
- Angularjs-在尝试使用全局服务时无法解决所需的依赖关系
- 解决节点中非阻塞函数调用中的依赖关系
- Ember&RSVP:如何解决路由中的嵌套关系's模型函数
- 如何在Backbone.js中使用嵌套视图解决循环依赖关系
- facebook的本地Javascript SDK是如何解决依赖关系的?