我正在尝试用MadCap Flare实现Algolia文档搜索。Flare是一种生成HTML输出的技术文档工具。
Docsearch的底层爬虫是配置的,并在代码页中正常工作。然而,我有一个问题,整合它与照明弹。Flare有许多内置脚本,我无法访问或更改这些脚本,包括require.js。当我运行构建时,我得到了一堆错误,未登录错误:不匹配的匿名定义()模块.。
因此,为了解决这个问题,我尝试使用require.js
加载Docsearch js,这是我做的完全错误的。我的JS知识有限!
Html搜索输入:
<div class="input-group">
<input id="<YOUR_CSS_SELECTOR>" type="text" class="form-control" placeholder="Search" aria-label="Search Field" aria-describedby="infoSearch" />
</div>
原始的Algolia文档搜索、CDN和代码片段如下所示:
<!-- Before the closing </body> -->
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js">
</script>
<script>
docsearch({
apiKey: '<API_KEY>',
indexName: '<INDEX_NAME>',
inputSelector: '<YOUR_CSS_SELECTOR>',
debug: false
});
</script>
因此,为了使用require.js
加载这些脚本,我做了以下工作:
<script type="text/javascript">
require.config({
enforceDefine: true,
paths: {
"docSearch": "https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"
},
waitSeconds: 40
});
require(['docSearch']);//This is probably not doing anything.
</script>
<script>
docsearch({
apiKey: '<API_KEY>',
indexName: '<INDEX_NAME>',
inputSelector: '<YOUR_CSS_SELECTOR>',
debug: false
}); //This throws "Uncaught Reference Error docsearch is not defined" error
</script>
我还查看了其他线程/问题和require.js文档,但找不到能够解决的问题。任何帮助/指导都是很棒的!
发布于 2019-03-18 07:15:39
我觉得你应该包括
<script>
/* <![CDATA[ */
require.config( {
paths: {
"docsearchLib": "https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min"
}
}
);
require(["docsearchLib"], function(docsearch) {
docsearch( {
apiKey: '<API_KEY>', indexName: '<INDEX_NAME>', inputSelector: '<YOUR_CSS_SELECTOR>', debug: false,
}
);
}
);
/* ]]> */
</script>
您可能想看看https://docs.solace.com/,它们实际上使用的是DocSearch和require.js。
https://stackoverflow.com/questions/54012121
复制