插件

Mr.Hope ... Basic
  • Vuepress
大约 2 分钟

# 介绍

插件通常会为 VuePress 添加全局功能。

整个插件系统的架构如下:

插件系统架构

# 使用插件

你可以通过在 .vuepress/config.js 中做一些配置来使用插件:

module.exports = {
  plugins: [require("./my-plugin.js")],
};
1
2
3

# 使用来自依赖的插件

一个插件可以在以 vuepress-plugin-xxx 的形式发布到 npm,你可以这样使用它:

module.exports = {
  plugins: ["vuepress-plugin-xx"],
};
1
2
3

同时,如果你的插件名以 vuepress-plugin- 开头,你可以使用缩写来省略这个前缀:

module.exports = {
  plugins: ["xxx"],
};
1
2
3

和下面等价:

module.exports = {
  plugins: ["vuepress-plugin-xxx"],
};
1
2
3

这也适用于 Scoped Packages (opens new window):

module.exports = {
  plugins: ["@org/vuepress-plugin-xxx", "@vuepress/plugin-xxx"],
};
1
2
3

等价于:

module.exports = {
  plugins: ["@org/xxx", "@vuepress/xxx"],
};
1
2
3

注意

@vuepress/plugin- 开头的插件是官方维护的插件。

# 插件的配置

通过config.jsplugin字段配置。

# Babel 式

插件可以通过在配置内的数组中封装名称和选项对象来指定选项:

module.exports = {
  plugins: [
    [
      "vuepress-plugin-xxx",
      {
        /* options */
      },
    ],
  ],
};
1
2
3
4
5
6
7
8
9
10

由于这种风格和 babeld Plugin/Preset Options (opens new window) 一致,我们称之为"Babel 风格"。

# 对象式

VuePress 也提供了一种更简单的方式来使用来自依赖的插件:

module.exports = {
  plugins: {
    xxx: {
      /* options */
    },
  },
};
1
2
3
4
5
6
7

注意

由于某些插件可能存在多个实例,强烈推荐使用babel 风格写法。

提示

可以通过显示地将选项设置成 false 来禁用一个插件:

  • Babel 风格
module.exports = {
  plugins: [
    ["xxx", false], // disabled.
  ],
};
1
2
3
4
5
  • 对象风格
module.exports = {
  plugins: {
    xxx: false, // disabled.
  },
};
1
2
3
4
5

# 官方插件

提示

具体用法详见: VuePress 插件 (opens new window)

# 社区插件