【问题标题】:Use package.json version in MD files for Vue Press在 Vue Press 的 MD 文件中使用 package.json 版本
【发布时间】:2020-05-13 04:58:07
【问题描述】:

我正在尝试使用我的 *.md 文件中的 package.json 版本标签,这些文件后来被编译成 HTML,但我似乎不知道如何做到这一点。我的 plugin.js 文件包含我认为可以使用的以下内容:

const { version } = require('../../package.json')

module.exports = (/*options, ctx*/) => ({
  async enhanceAppFiles () {
    const code = `export default ({ Vue }) => {
  Vue.mixin({
    computed: {
      $version () {
        return '${version}'
      } 
    }
  })
}`
    return [{
      name: 'vuepress-plugin-vue-cli-plugin-p11n',
      content: code
    }]
  }
})

我尝试在我的*.md 文件中使用version$version,但运气不佳,还有其他人遇到这个问题吗?

【问题讨论】:

    标签: vuepress


    【解决方案1】:

    实现这一点的最简单方法,只需将 version 放入 themeConfig 并让 VuePress 做它的事情

    // .vuepress/config.js
    const { version } = require('../../package')
    
    module.exports = {
      themeConfig: {
        version: version
      }
    }
    
    

    并使用它in markdown 喜欢

    {{ $themeConfig.version }}
    

    不过,themeConfig 似乎并不适用于此,因此您也可以创建自己的计算属性

    // .vuepress/enhanceApp.js
    const { version } = require('../../package')
    
    export default ({ Vue }) => {
      Vue.mixin({
        computed: {
          $version: function() {
            return version
          }
        }
      })
    }
    

    并像使用它

    {{ $version }}
    

    【讨论】:

    • 您好,谢谢!这两种方法都有效,但它看起来以前也有效,我刚刚意识到,我正在尝试在代码块中使用{{ $themeConfig.version }},使用反引号、黑色 sh 部分,这仍然可能吗?我怎么能在这里得到它。
    • 我不确定我是否完全理解你。基本上,您想在代码块中使用{{}} 语法吗?我不认为这是可能的。我的意思是,代码块的重点是按原样显示代码,对吗?不过,我认为你可以尝试自定义一个container 或创建一个组件来实现这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 2021-09-29
    • 2018-02-06
    • 2017-08-21
    • 2014-05-22
    • 2022-06-10
    相关资源
    最近更新 更多