在Nuxt 3中如何配置PrismJS和Autoloader插件?

在之前的文章Vue或Nuxt中如何渲染数学公式?中,我们讲解了如何在Nuxt.js中使用本地CDN渲染数学公式。通过本地CDN,我们可以很轻松的加载很多JavaScript库,且不用担心因此导致页面加载变慢。

PrismJS是一个轻量的代码高亮JavaScript库,如果使用平常的方式配置PrismJS(参考如何使用Nuxt实现高亮代码块?),那么你想高亮的每一个语言几乎都需要引入一遍,比如说你想高亮Typescript,那么你需要添加import "prismjs/components/prism-typescript"。显然这很麻烦。

然而,PrismJS有多个插件扩充了它的功能。Autoloader插件可以自动加载你需要的语言,让你不必再一个个的引入你需要高亮语言的文件。加载Autoloader插件最简单的方法是用CDN,在本文,我们将会讲解在Nuxt 3中,如何用加载Mathjax的同一种方法来配置PrismJS和它的autoloader插件。

  1. 首先从Github中下载PrismJS的源代码:

https://github.com/PrismJS/prism/archive/refs/tags/v1.29.0.zip

你也可以用npm来下载它:

npm install prismjs
  1. 然后将它移动到你Nuxt项目的public目录中。文件的目录结构如下:
Nuxt-app/
     node_modules
     pages
     ...
     public/
        prismjs
  1. 最后配置你的nuxt.config.ts文件:
  css: [
    "prismjs/themes/prism-tomorrow.css"
  ],
  app: {

    head: {
      link: [{ rel: "icon", type: "image/png", href: "/favicon.svg" }],

      script: [

        {
          src: "/prismjs/components/prism-core.min.js",
          tagPosition: "bodyClose",
        },

        {
          src: "/prismjs/plugins/autoloader/prism-autoloader.min.js",
          tagPosition: "bodyClose",
        },

    ]
}

现在,PrismJS就会自动加载每个你需要的语言,你仅仅需要调用highlightAll()函数即可。

原文地址:在Nuxt 3中如何配置PrismJS和Autoloader插件?
更多各领域的原创文章:弦圈- 找到属于你的圈子,让知识无荒原
百科全书弦圈百科
个人生活、经验分享弦圈社区

Nuxt 3 中,你可以通过调整 `nuxt.config.js` 文件中的 `generate` 或者 `export` 配置来管理静态资产服务端路由的缓存策略。这里有两个关键部分: 1. **generate** 对象:这是用于预构建站点(SSR static generation)的配置,对其中的 `cache` 属性进行调整可以影响缓存时间。例如: ```javascript export default { generate: { cache: { maxAge: '5m', force: false }, // 设置默认缓存时间为5分钟 }, } ``` `maxAge` 参数表示缓存的有效期,单位可以是秒(s)、分(m)、小时(h)、天(d)。`force` 设定是否始终重新生成,若设为 `true`,则每次都会重新生成。 2. **export** 对象:针对异步组件或 API 调用,可以使用 `exportAsyncChunks` 或 `exportServerPrefetch` 配置来管理资源预加载的缓存。例如: ```javascript export async function asyncData({ app, isClient }) { if (isClient) { // 在浏览器环境下,你可以使用 axios 或其他库处理缓存 const response = await axios.get('your-api-url', { cache: true }); } else { // 服务器端,一般不会直接操作缓存,但可以配合插件如 `@nuxtjs/prefetch-link` 管理预加载 } } ``` 注意,浏览器环境下的缓存取决于具体的 API 实现,而服务器端通常依赖于服务端缓存机制或者第三方插件。 总之,Nuxt 3 提供了一定程度的灵活性,允许你在不同场景下定制缓存策略。记得在生产环境中根据需求适时调整,平衡性能用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值