【问题标题】:Resolving "Unresolved function or method observable()" warning using KnockoutJS in PyCharm在 PyCharm 中使用 KnockoutJS 解决“未解析的函数或方法 observable()”警告
【发布时间】:2017-12-02 00:46:50
【问题描述】:

PyCharm(专业版,v2017.1.4)无法为 KnockoutJS 引用获取任何智能感知,例如:

我过去在使用 WebStorm 时设法解决了这个问题;据我回忆,它归结为确保 Javascript > Libraries 下有一个 KnockoutJS 引用:

但是,尽管我已经这样做了(包括 lib 的“明确类型”版本,见上文),但 PyCharm 中仍然存在“未解决”警告。

关于什么可以帮助清除这些警告,有人有什么好主意吗?


编辑:

其他截图:

项目解释器设置

Javascript 库设置

RequireJS 设置 - 指向调试 KnockoutJS 的 v3.4.1

ViewModel KO 参考

不幸的是,即使使用 js.knockout 引用,问题仍然存在。

【问题讨论】:

  • 要清楚一点,这是您在 PyCharm 中开发的 Javascript,而不是 PyCharm 中的 Python,正在写入 KnockoutJS API,对吗?
  • 正确。最初我使用的是 WebStorm,但由于它的许可证已经尘埃落定,而且我们已经在使用 PyCharm 的社区版进行基于 Python 的烟雾测试,所以我们切换到专业版以允许我们在单个 IDE 中使用两者。

标签: javascript knockout.js pycharm


【解决方案1】:

您需要在那里安装库,以及您正在使用的 python 项目解释器。

  1. Settings | Project:myprj | Project Interpreter | '+'

  1. Type in 'knockout'

  2. Choose 'js.knockout'

  3. Click Install Package

现在应该不错了。

作为参考,这里是我拥有的 javascript 库。

【讨论】:

  • 感谢您的建议,非常感谢。不幸的是,添加 js.knockout 库似乎并没有解决问题(请参阅上面的更新帖子)。
  • 当您输入js. 时是否有任何显示?它有什么方法吗?我无法复制您的问题。在我安装 js.knockout 之前,koobservable 都被突出显示,但对你来说只有 observable 被突出显示。所以看起来 PyCharm 至少可以识别ko。所以似乎ko 正在以某种方式重新定义。虽然我不是 javascript 专家。顺便说一句,您有一个定义 kockout lib 路径的配置文件,而我没有这样做。也许尝试创建一个新项目,只添加一个 javascript 文件并测试它是否仍然存在?
  • 似乎与通过 RequireJS 引用的 Knockout 有关。如果我引用 window.ko,我可以看到各种方法(observableobservableArray 等),所以我认为你是对的 - 看起来 RequireJS ko 引用正在重新定义 window.ko 引用由js.knockout设置。
  • 用简单的<script> 引用 KO 创建一个简单的项目就像一个魅力。
  • 如果这解决了你的问题,你能奖励赏金吗?
猜你喜欢
  • 2018-11-26
  • 2019-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多