如果我在全局注册了一些 vue 组件,我怎样才能让 WebStorm 理解它并帮助我自动完成?我有一些从主 js 文件全局注册的自定义 ui 组件,如下所示:
const requireComponent = require.context(
'./components',
true,
/^\.\/ui-kit\/global\/.*ui-.*\.vue$/
)
requireComponent.keys().forEach(function(fileName) {
let baseComponentConfig = requireComponent(fileName)
baseComponentConfig = baseComponentConfig.default || baseComponentConfig
let baseComponentName =
baseComponentConfig.name ||
fileName.replace(/^.+\//, '').replace(/\.\w+$/, '')
Vue.component(baseComponentName, baseComponentConfig)
})
Run Code Online (Sandbox Code Playgroud)
所以我想使用这样的组件而不需要任何导入。我可以,但唯一的问题是我没有从 WS 识别此类组件。
WebStorm 也将此标签标记为
未知的 html 标签 ui-input
此检查突出显示未知的 HTML 标签,并让将此类标签标记为自定义,以避免将来将它们突出显示为未知
当然,如果我手动导入该组件,WebStorm 的建议就可以正常工作。
对于来到这里的人来说,这是解决方案:
npm i vue-docgen-web-typespackage.json "scripts": {
"update-web-types": "vue-docgen-web-types"
},
"web-types": "./web-types.json",
Run Code Online (Sandbox Code Playgroud)
update-web-typesnpm 命令。如果您还希望能够单击自定义组件来导航到源文件,那么您必须执行以下操作,因为当前存在路径错误:
这是您当前在生成的web-types.json文件中得到的内容:
"source": {
"module": "./src\\components\\General\\Page.vue",
"symbol": "default"
}
Run Code Online (Sandbox Code Playgroud)
但如果您将路径修复为:
"source": {
"module": "./src/components/General/Page.vue",
"symbol": "default"
}
Run Code Online (Sandbox Code Playgroud)
一切正常!
因此,只需在运行 npm 命令后将所有“”替换//为“ ”即可。\update-web-types
Jetbrains 问题:
| 归档时间: |
|
| 查看次数: |
3140 次 |
| 最近记录: |