@ funcd-dev/vite-plugin (英语)
A 类 维特 每个捆绑的插件 乐谱 函数 输入一个自成一体的ES模块,用于funcd节点运行时间(已失效 CDR-0144),并将其合同文件放入 (已失效的ADR-0247).
yarn add -D vite @funcd-dev/vite-plugin
// vite.config.ts
import { funcd } from '@funcd-dev/vite-plugin';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [funcd({ functions: { front: 'src/front/main.ts', greeter: 'src/greeter/main.ts' } })],
});
vite build 将每个函数构建为自己的 Vite 环境, 因此没有代码分割为共享
块 :
dist/<name>.mjs: 其依赖性内含的处理器, 节点22的无害环境管理, 节点构建后左侧 外部的,不是微缩的.dist/<name>.contract.yaml(或.json: 该函数的合同文件, 复制自<name>.contract.yaml或者说<name>.contract.json在项目根。 功能没有,或 两者都失败了.
礛 funcdctl push dist/<name>.mjs <ref> 从合同文件中取出运行时间和合同
在文件旁边 函数绑定和存储在它的资源文件中直播, 而不是在这里 .
funcdctl.yaml 无法读取 : funcdctl.yaml 或者说 <name>.funcdctl.yaml
失败构建,请指定替换它的合同文件.
| 选项 | 默认 | 什麽 |
|---|---|---|
functions | { <root dir name>: 'src/main.ts' } | 函数名 ~ 处理器源, 相对于 Vite 根 |
outDir | 'dist' | 地点 <name>.mjs 去; 项目根 ('.')同样有效,然后合同文件不复制 |
每一个函数都会在 Vite 缓存目录下构建一个中继目录,插件复制
结果产生 outDir,因此共享输出目录永远不会被空出.
监视模式
vite build --watch 保留 outDir 当前,一次一个函数(已失效的 IDR-0244) :
- 当一个函数的重建结束时,它的
<name>.mjs合同文件将写入outDir;另一个 函数的文件不被触动。 每个文件都写在目标旁边 并重新命名为它,所以.. 读者从不看半个文件. - 保存函数的合同文件只重建该函数 。 创建合同文件时 监视运行在下次重建时生效.
- 一个失败的重建会打印出错误并保存函数上一个好文件; 手表会继续 .
除了这个, funcdctl dev 重新装入文件会改变的每个函数, 因此保存的处理器会用
它的新代码在大约一秒钟之内:
vite build --watch # terminal 1
funcdctl dev dist # terminal 2
一个平地 vite build 仍在写 outDir 只有在每个功能建立之后,才写作
当一个失败.