我正在尝试解析所需模块的路径:
var directory = require.resolve('ocs.auth')
但Webstorm告诉我Deprecated symbol, consult docs for a better alternative
- 但我已经检查了Node文档,但无法找到任何对其弃用的引用。
节点版本为7.2.1。
我可以从模块中的index.js公开目录对象__dirname
,但我认为解决方案应该可行。有谁知道为什么resolve
被弃用了?什么取而代之?
答案 0 :(得分:0)
官方文档没有提及弃用。所有弃用的方法/对象都标记为已弃用,并且还包括基于git历史记录发生弃用时的版本标记。 (参见此示例https://github.com/nodejs/node/blob/master/doc/api/crypto.md#ecdhsetpublickeypublic_key-encoding)。在过去,符号链接存在一些问题,但这些问题已经解决了。
如果您使用--trace-deprecation
运行脚本,您甚至可以继续打开一些弃用警告,该脚本将警告您的代码正在使用的所有弃用的方法/对象等(require.resolve
赢了&#39 ; t触发弃用警告)。
我的WebStorm版本(带有最新补丁的2016.3)并未发出警告;也许启用了一些额外的代码分析器并启用了特殊设置?