处理CouchDB Map/Reduce JavaScript函数上的Eclipse错误的最佳方法是什么?
What's the best way to handle Eclipse errors on CouchDB Map/Reduce JavaScript functions?
正如在java项目中编写和存储mongoDB map/reduce函数的地方所指出的那样- Eclipse不喜欢JavaScript (.js
)文件只包含以下内容:
function(doc) {
if(doc.somekey) emit(doc._id, doc);
}
关键字function
被错误标记:
标记"function"语法错误,标识符应该在这个标记后面
这个表单在MapReduce中使用,但也许它不是完全有效的JavaScript(我不是律师)。有什么办法允许这张表格吗?
edit它看起来像一个函数表达式而不是函数语句。(MDN, ECMA-262)
非解决方案:"只需添加一个函数名"根据https://stackoverflow.com/a/11258388/185799看来,这是不重要的节省这些函数的大小。但是,添加函数名会导致:
{"error":"compilation_error","reason":"Compilation of the map function in the 'myView' view failed: Expression does not eval to a function."}
可能的解决方案?添加一个函数名或"模块"。在顶部的exports = ",然后在构建阶段删除它,使用grunt/gulp/yeoman或相关的东西。
现在,我实际做的是使用文字形式
function anonymous(...
,然后在调用synchronizeWithDb()
之前做一个字符串替换,用function(
替换function anonymous(
。这并没有回答我的问题,但可以解决它。
你有三个糟糕的选择:
- 你可以忽略这个错误,因为CouchDB可以处理这个文件(它稍后会包装它以使其有效)。
- 你可以改变文件扩展名,但你会失去语法高亮,代码完成和错误检查。
- 在错误视图中删除错误。它将一直被删除,直到您下次更改文件或进行完整构建。
- 您可以将Eclipse配置为停止验证文件。
- 可以忽略该资源。这使得该文件对Eclipse和所有插件不可见。这意味着您不能再在Eclipse中编辑它。使用资源过滤器
- 您可以检查JavaScript的验证规则的每个项目首选项。也许你可以排除这个文件。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- Aptana插件用于eclipse错误识别和自动完成
- 为什么 Eclipse 会用错误标记有效的 JavaScript
- Eclipse:强制项目不显示js目录的错误
- Eclipse中Stuts2appfuse应用程序中的错误
- Eclipse javascript语法错误在hashbang行
- eclipse for JS中的代码折叠错误
- js -如何解决在Eclipse中删除时的语法错误
- 在JavaScript/Eclipse中,在数组的最后一个元素标记逗号是错误的
- 禁用对Eclipse中特定JavaScript错误的检查
- 处理CouchDB Map/Reduce JavaScript函数上的Eclipse错误的最佳方法是什么?
- Eclipse:禁用Javascript验证.但是为什么它仍然产生错误
- Eclipse Javascript错误突出显示
- 在Spring Tool Suite (Eclipse)中导致错误的Javascript catch方法
- Eclipse中节点模块的奇怪编译器错误
- 如何在Android Phonegap应用程序中获取浏览器控制台错误,可能在Eclipse中