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。
