Coffeelint告诉我,我有隐含的parens。我试图找到导致此错误的原因。
#309: Implicit parens are forbidden.
这是我的代码:
((factory) ->
if typeof module == 'object' and module.exports
module.exports = factory
else
factory(Highcharts)
return
)(Highcharts) ->
...
if seriesTypes.map
seriesTypes.map::exportKey = 'name'
if seriesTypes.mapbubble
seriesTypes.mapbubble::exportKey = 'name'
if seriesTypes.treemap
seriesTypes.treemap::exportKey = 'name'
return
###The entire block over code is one function.
有人试过这个吗?
答案 0 :(得分:0)
我认为您的代码存在问题。看看JS生成的:
(function(factory) {
if (typeof module === 'object' && module.exports) {
module.exports = factory;
} else {
factory(Highcharts);
}
})(Highcharts)(function() {
...
});
当第一个函数返回undefined
时,尝试将undefined
作为函数调用时出错。
实际上 no_implicit_parens 适用于:
# This rule prohibits implicit parens on function calls.
# Some folks don't like this style of coding.
myFunction a, b, c
# And would rather it always be written like this:
myFunction(a, b, c)
启用此选项后,必须在任何函数调用的任何参数列表周围放置括号 要使代码正常工作,您可以执行以下操作:
((factory) ->
...
)(Highcharts(->
...
))
回调函数周围的这些括号可以解决问题。但正如我所说,我确定您的代码存在问题,而且修复实际上对我没有多大意义:))