我正在使用 Gatsby,需要在其他插件之前在标头中添加一个脚本。
如果我通过添加它gatsby-ssr.js
exports.onRenderBody = ({ setHeadComponents }) => setHeadComponents([#MY-SCRIPT#]);
Run Code Online (Sandbox Code Playgroud)
它是最后添加的。
如何在其他插件之前添加它?
除了 之外onRenderBody,还可以使用onPreRenderHTML对脚本重新排序。
exports.onRenderBody = ({ setHeadComponents }) =>
setHeadComponents([
<script key='myscript' src='...' />
]);
exports.onPreRenderHTML = ({ getHeadComponents, replaceHeadComponents }) => {
const headComponents = getHeadComponents()
// reorder your array with the sort method, by putting your item at top
const orderedComponents = headComponents.sort((item) => (item.key === 'your-key' ? -1 : 1)); const orderedComponents = reorder(headComponents)
replaceHeadComponents(orderedComponents)
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅有关 SSR API 的 Gatsby 文档。
| 归档时间: |
|
| 查看次数: |
4891 次 |
| 最近记录: |