[英]Using JSHint with Express.js / 'delete' (a reserved word)
我正在使用Node.js上的Express.js来创建RESTful API,并使用grunt来查看我的文件并自动lint我的JavaScript。
每次我使用delete函数时,它都会被JSHint标记:
[L218:C9] Expected an identifier and instead saw 'delete' (a reserved word).
app.delete('/api/users/:userid', function deleteUser(req, res, next) {
我知道'删除'是一个保留字,但它是由Express.js选择的! 有没有更好的方法去linting我的Express.js应用程序? 有办法关闭这个检查??
在Express.js中,使用del
而不是delete
。
app.del('/api/users/:userid', function deleteUser(req, res, next)
app['delete']('/api/users/:userid', function deleteUser(req, res, next) {
/* function body */
});
在使用定义.delete
和.continue
方法的IndexedDB时 ,这种工作是必要的。
现在,这种解决方法不是必需的。 自从ES5 JavaScript允许属性名称使用保留字以来 。 很长一段时间jsHint默认假设您的代码是ES3,但从版本2.0.0开始,它默认假设它是ES5并且不会抱怨保留字被用作属性名称。
在JSHint 1.1.x中,您可以为jshint设置es5
选项,它允许您根据ES5规范使用保留字作为属性。
从es5
2.0开始, es5
选项是默认选项,您应该允许使用保留字作为属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.