WebStorm 中 Bootstrap-Vue.js 支持的未知 html 标签警告

Posted

技术标签:

【中文标题】WebStorm 中 Bootstrap-Vue.js 支持的未知 html 标签警告【英文标题】:Unknown html tag warning of Bootstrap-Vue.js support in WebStorm 【发布时间】:2018-02-24 18:16:15 【问题描述】:

我正在使用 WebStorm 2017.2.4 和 webpack Vue.js 项目。我已将bootstrap-vue.js 添加到我的项目中,并希望查看有关它的提示和组件支持。

但我得到了“未知的 html 标记”警告。

顺便说一句:bootstrap-vue 在运行项目时按预期工作。

你有什么建议可以让它发挥作用吗?

【问题讨论】:

我在使用 WebStorm 2017.3.3 时遇到了这个确切的问题 我也是。你能为这个问题设置一个赏金吗? @JanTajovsky 你是什么意思? @Bullet-tooth ***.com/help/bounty @PrzemekNowak 问题:youtrack.jetbrains.com/issue/WEB-31682。与youtrack.jetbrains.com/issue/WEB-30742相关 【参考方案1】:

于 2019 年 7 月 30 日更新

phpShtorm(WebStorm) 已更新至 2019.2,现在他们添加了对 vuejs 库的更好支持: https://blog.jetbrains.com/webstorm/2019/07/webstorm-2019-2/#development_with_vue 我刚刚测试过,它可以工作。

旧答案

我通过手动添加组件解决了这个问题。 根据:https://bootstrap-vue.js.org/docs/#individual-components-and-directives 我创建了新文件,例如bootstrap.js 然后注册需要的全局组件

import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap-vue/dist/bootstrap-vue.css';
import Vue from 'vue';
import navbar from 'bootstrap-vue/es/components/navbar/navbar';
import container from 'bootstrap-vue/es/components/layout/container';
// ...

Vue.component('b-navbar', navbar);
Vue.component('b-container', container);
// ...

它在 phpstorm 2018.1 中对我有用

【讨论】:

我创建了所有别名。只需创建自定义文件,例如vue-boostrap.js 粘贴这个:pastebin.com/Z3cBgPyp 并将这个文件导入main.js 即使注册了一个组件,这仍然不是标签属性的内容助手,在WebStorm 2019.1.3【参考方案2】:

Bootstrap vue 使用非常动态的方式来定义组件。我正在使用带有 vuejs 扩展的 PyCharm,它在使用注册时无法解析组件

import  Layout  from 'bootstrap-vue/es/components'

Vue.use(Layout)

我用来做的是在components 目录中创建一个新文件bootstrap.js,并注册我会使用的所有引导组件

import Vue from 'vue'

import bContainer from 'bootstrap-vue/es/components/layout/container'
import bRow from 'bootstrap-vue/es/components/layout/row'
import bCol from 'bootstrap-vue/es/components/layout/col'

Vue.component('b-container', bContainer);
Vue.component('b-col', bCol);
Vue.component('b-row', bRow);

然后将这个文件导入main.js

import './components/bootstrap'

只是一个更清洁的解决方案。

【讨论】:

我创建了所有别名。只需创建自定义文件,例如vue-boostrap.js 粘贴此:pastebin.com/Z3cBgPyp 并将此文件导入main.js 不需要使用 phpStorm 2019.2 来导入vue-bootstrap.js。 PhpStorm 从项目中读取文件,Vue 不受影响。【参考方案3】:

更新:有两种方法可以修复“未知 html 标记”警告:(全局和本地注册)

    全球注册:

    在创建新的 Vue 实例之前,您应该必须全局注册您的组件 Vue.component(tagName, options)。例如:

    Vue.component('my-component', 
      // options
    )
    

    注册后,组件可以在实例的模板中用作自定义元素<my-component></my-component>。在实例化根 Vue 实例之前,确保组件已注册。这是完整的示例:

    HTML:

    <div id="example">
      <my-component></my-component>
    </div>
    

    JS:

    // global register
    Vue.component('my-component', 
      template: '<div>A custom component!</div>'
    )
    
    // create a root instance
    new Vue(
      el: '#example'
    )
    

    将呈现 HTML:

    <div id="example">
      <div>A custom component!</div>
    </div>
    

    本地注册:

    您不必在全局范围内注册每个组件。您可以通过使用components 实例选项注册一个组件,使其仅在另一个实例/组件的范围内可用:

    var Child = 
      template: '<div>A custom component!</div>'
    
    
    new Vue(
      // ...
      components: 
        // <my-component> will only be available in parent's template
        'my-component': Child
      
    )
    

    同样的封装适用于其他可注册的 Vue 功能,例如指令。

阅读更多https://vuejs.org/v2/guide/components.html#Using-Components


更新前:

在 WebStorm 中,是一个文件或一组文件,除了 WebStorm 从您编辑的项目代码中检索的功能和方法外,其功能和方法也添加到 WebStorm 的内部知识中.在项目范围内,其库默认情况下是写保护

WebStorm 仅使用库来增强编码辅助(即代码完成、语法突出显示、导航和文档查找)。 注意,库不是管理项目依赖项的一种方式。

来源:https://www.jetbrains.com/help/webstorm/configuring-javascript-libraries.html

只需将 WebStorm 从版本 2017.2.4 升级到 2017.3 即可解决此问题。已经测试过了。

【讨论】:

@Snsxn 2017.3 怎么样 @AsifAli72090 在 2017.3 中不起作用 IDE 无法识别

以上是关于WebStorm 中 Bootstrap-Vue.js 支持的未知 html 标签警告的主要内容,如果未能解决你的问题,请参考以下文章

如何在 nuxt.js 中挑选 bootstrap-vue.js 模块?

bootstrap-vue 组件呈现为注释

在导航栏组件中结合 bootstrap-vue 和 vue-router

如何在 bootstrap-vue 切换按钮中更改背景颜色

如何在 Bootstrap-vue 中更改导航栏链接的颜色

在 Nuxt 项目中自定义 bootstrap-vue