我在我的快递应用程序中使用了lodash库。 每当我把lodash包括在内时:
var _ = require('lodash')
jshint抱怨错误:
Redefinition of '_'
如果删除require语句,应用程序将失败并报告它不会识别'_'。
我的jshint.rc有以下声明:
"globals": {
"angular": false,
"_" : false
}
但是这样我可以将它包含在前端代码中,而不会抱怨jshint。
如何让jshint在我的节点代码中忽略此错误?
答案 0 :(得分:4)
您已明确告知jshint全局变量require
只读。
来自the docs:
<强>全局强>
告诉JSHint有关已定义的全局变量的指令 别处。如果value为false(默认值),JSHint会考虑这一点 变量为只读。将它与undef选项一起使用。
/ * globals MY_LIB:false * /
由于您使用_
明确定义它,我认为您可以
从JSHint的globals
列表中删除_
以允许分配给变量。
但是,如果您使用"_" : true
而没有明确要求它并期望它出现在环境中,那么您可以在.jshintrc
中设置trait Matrix<T> where T : num::Num {
fn dim(&self) -> (usize, usize);
fn elem(&self, i : usize, j : usize) -> Option<& T>;
fn new_const(v: T, rows : usize, cols : usize) -> Self where T : Clone;
fn same_dim<U>(&self, other: &U) -> bool where U : Matrix<T> {
self.dim() == other.dim()
}
}
仍然允许分配到它
答案 1 :(得分:2)
在你的jshint.rc中你可以放置:"no-native-reassign" : 0
,这将禁用本机重新分配规则,或者你可以在你指定_的函数之前放置/ * jshint -W079 * /。
当你不使用_作为全局变量时,你也应该从jshint中的Globals中删除它。或者将其设置为true,以便jshint不会将其视为只读。