"use strict";(self.webpackChunkfes_js=self.webpackChunkfes_js||[]).push([[507],{494:(s,e,n)=>{n.r(e),n.d(e,{data:()=>a});const a={key:"v-1d14d5cc",path:"/guide/plugin.html",title:"插件",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:2,title:"插件的 id 和 key",slug:"插件的-id-和-key",children:[]},{level:2,title:"启动插件",slug:"启动插件",children:[{level:3,title:"package.json 依赖",slug:"package-json-依赖",children:[]},{level:3,title:"配置",slug:"配置",children:[]},{level:3,title:"环境变量",slug:"环境变量",children:[]}]},{level:2,title:"禁用插件",slug:"禁用插件",children:[]},{level:2,title:"配置插件",slug:"配置插件",children:[]}],filePathRelative:"guide/plugin.md",git:{updatedTime:1656304886e3,contributors:[{name:"wanchun",email:"445436867@qq.com",commits:1}]}}},9959:(s,e,n)=>{n.r(e),n.d(e,{default:()=>o});const a=(0,n(6252).uE)('
每个插件都会对应一个 id
和一个 key
,id
是路径的简写,key
是进一步简化后用于配置的唯一值。
比如插件 /node_modules/@fesjs/plugin-foo/index.js
,通常来说,其 id
为 @fesjs/plugin-foo
,key
为 foo
。
提示
id 一般用不上,对于普通开发者 key 用来配置插件,而插件开发者可以使用 key 判断是否安装某个插件。
有多种方式引入插件
Fes.js 会自动检测 dependencies
和 devDependencies
里的 fes 插件,比如:
{\n "dependencies": {\n "@fesjs/plugin-request": "^2.0.0"\n }\n}\n
那么 @fesjs/plugin-request
会自动被注册,无需在配置里重复声明。
在配置里可通过 presets
和 plugins
配置插件,比如:
export default {\n presets: ['./preset', 'foo/presets'],\n plugins: ['./plugin'],\n}\n
通常用于几种情况:
注意
请不要配置 npm 包的插件,否则会报重复注册的错误
还可通过环境变量 FES_PRESETS
和 FES_PLUGINS
注册额外插件。
比如:
FES_PRESETS=/a/b/preset.js fes dev\n
通过配置插件的 key
为 false
,比如:
export default {\n mock: false,\n}\n
Mock 插件的 key
是 mock
,我们在配置文件中配置 mock
为 false
,则会禁用 Mock 插件及其功能。
通过插件的 key
来配置插件,比如:
export default {\n mock: { \n prefix: '/v2'\n }\n}\n
这里的 mock
是 Mock插件 的 key。