Mitosis 配置
在运行 mitosis 的项目根目录中,您可以添加一个 mitosis.config.js 文件,Mitosis 将读取该文件。您还可以通过选项 —config=
mitosis.config.js 文件的结构如下:
type MitosisConfig = {
/**
* 编译到的目标列表。
*/
targets: Target[];
/**
* 输出目录。默认为 `output`。
*/
dest?: string;
/**
* 要转译的文件的glob。默认为 `src/*`。
*/
files?: string | string[];
/**
* 要从转译中排除的可选文件的glob列表。
*/
exclude?: string[];
/**
* 存储覆盖内容的目录。覆盖目录的结构必须与源代码的结构匹配,
* 每个目标都有自己的子目录:`${overridesDir}/${target}/*`
* 默认为 `overrides`。
*/
overridesDir?: string;
/**
* 每个目标的部分配置字典。对于每个目标,可以查看
* `packages/core/src/targets.ts`,查看所需生成器的第一个参数。
*
* 示例:
*
* ```js
* options: {
* vue: {
* prettier: false,
* namePrefix: (path) => path + '-my-vue-code',
* },
* react: {
* stateType: 'builder';
* stylesType: 'styled-jsx'
* }
* }
*
/
options: Partial
- 配置一个自定义解析器函数,该函数接受字符串并返回MitosisJSON。
默认使用该项目的JSXParser (src/parsers/jsx)。 */ parser?: (code: string, path?: string) => MitosisComponent | Promise
; /**
- 配置一个自定义函数,该函数为每个目标提供输出路径。
- 如果提供了此函数,则必须自己为每个目标提供值。 */ getTargetPath: ({ target }: { target: Target }) => string; } ```
Targets类型可以是以下字符串之一或其数组:
type targets =
| 'alpine'
| 'angular'
| 'customElement'
| 'html'
| 'mitosis'
| 'liquid'
| 'react'
| 'reactNative'
| 'solid'
| 'svelte'
| 'swift'
| 'template'
| 'webcomponent'
| 'vue'
| 'vue2'
| 'vue3'
| 'stencil'
| 'qwik'
| 'marko'
| 'preact'
| 'lit'
| 'rsc';
请注意,您可以单独为每个目标生成器配置,根据需要提供插件。
TypeScript配置
TypeScript包含一个全功能的JSX编译器。将以下配置添加到您的tsconfig.json文件,以将JSX转译为与Mitosis兼容的JavaScript:
{
"compilerOptions": {
"jsx": "preserve",
"jsxImportSource": "@builder.io/mitosis",
// 其他配置
}
}
有关TS配置的示例,请查看我们基本示例的tsconfig.json。