javascript - 在 Docusaurus v2 中将外部 javascript 添加到文档页面
问题描述
我正在构建一个仅包含 HTML 片段和相应的 js/css 的组件库,并且我正在使用 Docusaurus 来记录这些组件。我有每个组件的文档页面。在文档页面上有每个组件的示例。我想让组件正常工作(点击事件、键盘导航等),所以我通过插件附加了组件 javascript:
module.exports = function (context, options) {
return {
name: 'docusaurus-plugin-component-assets',
injectHtmlTags() {
return {
headTags: [
{
tagName: 'link',
attributes: {
rel: 'stylesheet',
href: 'https://example.com/css/component.min.css',
},
},
],
postBodyTags: [
{
tagName: 'script',
attributes: {
src: 'https://example.com/js/component.min.js',
},
},
],
};
},
};
};
在我的docusaurus.config.js
我添加了我的插件:
...
plugins: [
'docusaurus-plugin-sass',
path.resolve(__dirname, 'src/plugins/docusaurus-plugin-component-assets.js')
],
...
这成功地将样式表和 javascript 添加到正确的位置。但是 javascript 永远不会执行。看来我的组件 javascript 在文档应用程序加载之前触发。
我错过了什么?将外部 javascript 添加到文档页面的正确方法是什么?
编辑:我正在使用“@docusaurus/core”:“2.0.0-beta.0”,
解决方案
您可以将组件嵌入 Live Code 块 Docusaurus V2。
您将需要使用 npm 或 yarn 安装该软件包。
npm install --save @docusaurus/theme-live-codeblock
module.exports = {
plugins: ['@docusaurus/theme-live-codeblock'],
themeConfig: {
liveCodeBlock: {
/**
* The position of the live playground, above or under the editor
* Possible values: "top" | "bottom"
*/
playgroundPosition: 'bottom',
},
},
};
您可以使用下面的链接找到有关此过程的详细信息。
https://docusaurus.io/docs/markdown-features/code-blocks#interactive-code-editor
需要注意的是,这只适用于 react 组件。
推荐阅读
- android - 如何在卸载(Android)时强制删除应用程序数据?
- javascript - 实现订阅 angular 的 observable 的最佳位置
- google-bigquery - 谷歌云大查询中的错误?
- mips - MIPS - 添加两个单精度浮点数而不使用 add.s
- java - 从属性中获取带有 url 的 Micronaut HttpClient
- swift - 快速在 Alertview 中创建和自定义 UITextfield
- r - 绘图图例文本不适合
- c# - 通过 EFCore 3 中的接口解析 DbContext
- javascript - Backbone.js 提供全局 el 与在对象中传递它
- java - 在 selenium 中,我可以在鼠标悬停操作后执行 getCSSValue("color")