插件
编写插件
概述
exports.name = 'my-plugin'
exports.extend = api => {
// ...
}
属性
name
- 类型:
String
- 是否需要:
false
命名你的插件用于区分正在应用的所有插件.
extend
- 类型:
(api: PluginAPI, options: any) => void
- 是否需要:
true
参考 PluginAPI
使用插件
这是一个应用插件的例子 plugin-ssg
安装
yarn add @dvan/plugin-ssg --dev
dvan.config.js
module.exports = {
plugins: [
'@dvan/plugin-ssg'
]
}
使用本地插件
module.exports = {
plugins: [
require('./plugins/my-plugin'),
{
// 可使用对象
name: 'my-second-plugin',
extend: api => {
// ...
}
}
]
}
更多插件查阅 插件列表.
插件 API
api.command
- 类型:
string
获取当前命令.
api.mode
- 类型:
string
获取构建模式.
api.resolve
基于项目目录的路径.
api.resolve('pages')
api.chainWebpack
通过 webpack-chain 来修改内部配置.
api.chainWebpack(config => {
// `config` 是一个 webpack-chain 实例
})
插件列表
alpha
SSGStatic site generate
- Package:
@dvan/plugin-ssg
- Command:
generate
添加命令到 package.json
{
"script": {
"dev": "dvan dev",
"build": "dvan build",
"generate": "dvan generate"
}
}
生成静态资源
yarn generate
附加
head meta for vue-meta
<script>
export default {
head: {
title: 'Current page own title',
meta: [...]
}
}
</script>
或者可以通过设置 dvan.config.js
中的 html
字段来配置全部生成的 HTML 的 meta.
PWA
Progressive web application
TODO
Blogging
TODO