问题标签 [vuepress]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用带有 pageKey 的标签在 VuePress 1.x 中不起作用
在开发过程中,我们创建了一个组件,该组件index.md
根据this.$site.pages.path
列表遍历文件夹中的每个文件。在升级到 1.0.0-alpha.39 以修复我们遇到的其他一些问题后,它不再有效。
组件代码:
查看 chrome 的 Vue 插件,我可以看到 page.key 在那里。
在页面中,我只是<ChangeLogList />
调用了上面的全局组件。
仅供参考:VuePress 生态系统不需要我注册 markdown 文件,因此“您是否注册了您的组件”的典型答案是不正确的。
回购中的参考链接调用 ChangeLogList 的组件:https ://github.com/okta/okta.github.io/blob/VuePress/packages/%40okta/vuepress-theme-default/components/ChangeLog.vue
使用 ChangeLog 的页面(查看原始文件):https ://github.com/okta/okta.github.io/blob/VuePress/packages/%40okta/vuepress-site/docs/change-log/index.md
在Github上也登录了一个问题,但那里没有回复
vue.js - 如何通过插件更改 VuePress 页面的内容
我正在尝试设置一个插件来更改开发服务器和生产版本上的 VuePress 降价文件的内容。根据文档,我应该能够使用_content
and_strippedContent
对我来说是可用的extendPageData
下面的代码是我在插件中设置的。
我能说的最好的是,这段代码应该可以工作,因为它更新了$page._content
但它没有显示testing
,而是显示原始内容。
我知道我正在尽可能地console.log
从文件中进入这段代码,它显示在控制台中。
我担心这是不可变的,想知道是否有办法在或$page._content
期间进行这种内容交换dev
build
vue.js - 如何在 Vuepress 站点中使用 vue-apollo?
在一个 Vuepress 博客站点中,我在我的 markdown 博客文章中插入了一个组件,该组件从数据库获取信息以填充其数据。
我有一个 GraphQL 服务器来提供数据,所以我尝试使用vue-apollo在我的组件中获取它。
我尝试在enhanceApp.js
文件中添加 vue-apollo,如下所示:
在我的组件文件中:
但是$apolloData
Vue 组件中的 my 是空的,永远不会执行查询。
我认为它与Browser API Access Restrictions有关系,所以我尝试将查询放在mounted()
钩子中:
这给我一个错误:
vue.runtime.esm.js?2b0e:619 [Vue 警告]:挂载钩子中的错误:“TypeError:无法读取未定义的属性‘defaultClient’”
这让我觉得里面的设置enhanceApp.js
可能无法正常工作。
我看了一点ApolloSSR,但它似乎不适合我,因为我的 GraphQL 请求通常不依赖于路由。
我发现的一种解决方法是使用直接导入到我的组件文件中的 axios 或 ApolloClient:
我想这可以工作,但我想知道 vue-apollo 在我的情况下是否真的不可用。
有什么提示吗?
谢谢!!
vuepress - .vuepress/components 文件夹中的组件不呈现
我尝试添加一个简单的 vue 组件,以便在 .md 文件中使用它,如 vuepress 文档中所述。我将 HelloWord.vue 放在 .vuepress/components 文件夹中,然后在我的 markdown 文件中调用它,但运行 vuepress dev 后没有任何显示,以前有人遇到过这个问题吗?
javascript - 使用来自 Vuepress 的非 SSR Vue 模块 - 如何停用导入?
由于服务端渲染,vuepress
不能使用vue
依赖 DOM 导入库的组件。
即这不起作用,因为mapbox-gl
需要在导入时访问 DOM:
建议的解决方案是在created()
钩子中使用动态导入,例如
但是,我无法使动态导入与模块捆绑一起正常工作。[编辑](错误启动后,动态导入方法确实有效。)
另一种策略可能是使用head 部分加载mapbox-gl
脚本。vuepress
config.js
例如,在我的docs/.vuepress/config.js
文件中,我有:
除了import
语句之外,整个组件都可以正常使用,因为mapboxgl
变量在window
命名空间中可用。
因此我的问题是:是否有一种简单而优雅的方式来停用import
专门用于 from 的语句vuepress
?
我当前的解决方案包括创建一个没有导入的基本组件(用于 from vuepress
),然后在另一个组件中扩展它,然后显式导入并注册全局变量,例如
vue.js - 如何在 Vuepress 的 Vue 组件中生成标题
有没有办法从 vue 组件中生成与使用普通降价标题相同的标题和链接?
我在 Vuepress 中有一个 Vue 组件,它生成一个链接列表,但我希望它也生成链接标题,所以我可以在回答某人的问题时轻松链接到它。
我知道标题中的链接使用路由器链接,但我也不想进行名称冲突检测。
vuepress - VuePress:如何修改降价内容
VuePress (v1) 提供了这个 API 来访问页面上下文:https ://v1.vuepress.vuejs.org/plugin/option-api.html#extendpagedata
我可以访问这些属性,但我不能更改_content
例如的值。
我想在它被Vue渲染之前修改(替换一些正则表达式)markdown(甚至在它被markdown解析器解析之前)。
也许使用chainmarkdown API使用 markdown-it 插件更有意义,但我不知道具体如何。但问题更多的是如何为Markdown 编写一个插件,它可以在解析之前修改内容,因为我需要原始文本。