我一直收到这条警告信息"参数数量无效,预期为2.但我的代码没问题。我可以运行我的应用程序。我可以忽略它们,但它只会困扰我。我怎么摆脱他们?
似乎webstorm似乎不知道app.use也只能采用一个参数。这是我试过的。 javascript - >库,我在那里添加了节点模块。仍然没有工作。pic非常小,所以我粘贴下面的coffeescript代码。
app.use favicon()
app.use logger 'dev'
app.use bodyParser.json()
app.use bodyParser.urlencoded()
app.use cookieParser()
app.use express.static path.join __dirname, 'app/public'
答案 0 :(得分:1)
这就是问题所在:在快递文档中,预计favicon会收到2个参数...即使选项可能是一个可选参数。
您可以忽略该警告,也可以将空{}
作为第二个参数传递
/**
* Serves the favicon located by the given `path`.
*
* @public
* @param {String|Buffer} path
* @param {Object} options
* @return {Function} middleware
*/
module.exports = function favicon(path, options){
答案 1 :(得分:-1)
WebStorm只使用JSDoc来确定参数的数量。这是使用函数定义的样子(node_modules \ express \ lib \ application.js):
/**
* Proxy connect#use() to apply settings to
* mounted applications.
*
* @param {String|Function|Server} route
* @param {Function|Server} fn
* @return {app} for chaining
* @api public
*/
app.use = function(route, fn){...}
正如您所看到的,它只需要2个参数...它们都没有被标记为可选
作为一种解决方法,我建议禁用“Node.js依赖关系”'库,并使用express-DefinitelyTypes,而不是http://youtrack.jetbrains.com/issue/WEB-6667#comment=27-589563
中建议的