"use strict";(self.webpackChunkfes_js=self.webpackChunkfes_js||[]).push([[861],{4794:(n,s,a)=>{a.r(s),a.d(s,{data:()=>e});const e={key:"v-494b840e",path:"/reference/plugin/dev/",title:"插件介绍",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"开始",slug:"开始",children:[]},{level:2,title:"发布到 npm",slug:"发布到-npm",children:[]}],filePathRelative:"reference/plugin/dev/README.md",git:{updatedTime:165345025e4,contributors:[{name:"wanchun",email:"445436867@qq.com",commits:1}]}}},7415:(n,s,a)=>{a.r(s),a.d(s,{default:()=>t});const e=(0,a(6252).uE)('

插件介绍

开始

一个插件是一个 npm 包,它能够为 Fes.js 创建的项目添加额外的功能,这些功能包括:

插件的入口是一个函数,函数会以 API 对象作为第一个参数:

export default (api)=>{\n    api.describe({\n        key: 'esbuild',\n        config: {\n            schema(joi) {\n                return joi.object();\n            },\n            default: {}\n        },\n        enableBy: api.EnableBy.config,\n    });\n}\n
1
2
3
4
5
6
7
8
9
10
11
12

API 对象是构建流程管理 Service 类的实例,api 提供一些有用的方法帮助你开发插件。

api.describe用来描述插件:

发布到 npm

@fesjs/preset-@fesjs/plugin-@webank/fes-preset-@webank/fes-plugin-fes-preset-fes-plugin- 开头的依赖会被 Fes.js 自动注册为插件或插件集。

所以编写好的插件想发布到 npm 供其他人使用,包名必须是 fes-preset-fes-plugin- 开头。

',12),p={},t=(0,a(3744).Z)(p,[["render",function(n,s){return e}]])},3744:(n,s)=>{s.Z=(n,s)=>{const a=n.__vccOpts||n;for(const[n,e]of s)a[n]=e;return a}}}]);