[在PhpStorm中不使用TypeScript时如何忽略键入字段?

问题描述 投票:0回答:1

[在JetBrains PhpStorm 2019.3中,我使用JavaScript ES6。现在,如果我安装例如Foundation for Sites并将其与以下代码一起使用在名为main.js的文件中:

import {Dropdown, DropdownMenu, Accordion} from 'foundation-sites';

['foundation-sites'上的CTRL +单击,PhpStorm将我发送到:

node_modules / foundation-sites / dist / js / foundation.d.ts

即使我不使用TypeScript。预期的行为将跳至:

node_modules / foundation-sites / dist / js / foundation.es6.js

我可以通过更改基础站点typings中的package.json字段来更改此行为:

-  "typings": "dist/js/foundation.d.ts",
+  "typings": "dist/js/foundation.es6.js",

但是,更改第三方代码中的package.json字段只是为了修复PhpStorm移至错误的文件,这似乎很不方便。不使用TypeScript时如何使PhpStorm忽略TypeScript引用和字段?

intellij-idea ecmascript-6 phpstorm webstorm
1个回答
1
投票

无法告诉IDE忽略typings字段-它使用TypeScript定义文件来增强其对库方法的代码完成。通常,它使用以下规则进行导航:

  • 如果在node_modules/@types文件夹中安装了类型定义,则在使用Ctrl+click时,IDE会尝试导航到库的JavaScript源。请注意,这仅适用于在.d.ts文件中定义为类,变量或函数(而不是接口或类型)的符号。
  • 如果类型定义在模块内部可用,则IDEA默认情况下不会索引JavaScript源,因此无法导航到它们。要为这些文件建立索引,您需要从模块文件夹的右键菜单中选择包含Javascript文件
  • 更糟糕的是,尽管foundation-sites捆绑了键入,但这些键入不正确(请参阅https://github.com/foundation/foundation-sites/issues/11653和链接的票证,因此IDEA无法将ES6导入映射到foundation.d.ts的接口。] >

    我唯一想到的解决方法是注释掉"typings": "dist/js/foundation.d.ts",中的package.json-IDEA随后将使用foundation.es6.js中的声明来完成和导航

© www.soinside.com 2019 - 2024. All rights reserved.