【问题标题】:Vuepress - Add component to each pageVuepress - 将组件添加到每个页面
【发布时间】:2019-05-13 11:45:24
【问题描述】:

这方面的文档很短。我想在应用中的每个页面都添加一个 Vue 组件,而不必在每个模板中手动声明它。

我设法添加了一个enhanceApp.js 文件并将其添加到其中:

import MyComponent from './components/my-component'

export default ({
  Vue,
  options,
  router,
  siteData
}) => {
  Vue.component('MyComponent', MyComponent)
}

应用程序运行,但我在任何地方都看不到该组件。有什么技巧或其他方法可以实现这一目标吗?谢谢!

【问题讨论】:

    标签: vue.js vuepress


    【解决方案1】:

    你不需要把它放在enhanceApp.js 中,只要有/.vuepress/components 中的组件就足够了。

    虽然,如果您想将它们保留在该文件夹之外,这可能是让 Vuepress 了解它们的方法。

    在 md 文件中使用它,就像在 Vue 模板中一样,

    <MyComponent></MyComponent>
    

    【讨论】:

    • 这正是我的问题。我不想手动将其添加到每个 md 文件中,而是将其自动添加到每个新页面。
    • 哦,对了,我没听懂。我能想到的唯一方法是将它添加到 Layout.vue,您可以通过弹出 Vuepress 主题来访问它 - 但是当新版本的 Vupress 出现时,您必须手动升级(或跳过升级)。
    • 你一定有很多页!
    • 是的,我想我实际上需要弹出主题,从长远来看,这确实会让人头疼。是的,我有好几页 :D 还是谢谢
    【解决方案2】:

    这是一个老问题,可能只适用于 V1,但这很容易完成。

    1. 像往常一样将你的 Vue 组件添加到.vuepress/components
    2. .vuepress/config.js 中添加以下内容:
      module.exports = {
      
        // rest of config...
      
        globalUIComponents: [
          'YourComponent'
        ]
      }
      
      甚至不需要导入您的组件。

    请参阅docs 了解更多信息。

    【讨论】:

    • 这样更好。容易得多。
    猜你喜欢
    • 2020-10-22
    • 2013-08-07
    • 2020-08-10
    • 2014-08-26
    • 2019-04-02
    • 2019-03-21
    • 2011-12-06
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多