美文网首页
TSConfig文件详解36

TSConfig文件详解36

作者: 从零开始学ArchLinux | 来源:发表于2024-07-23 11:30 被阅读0次

编译器配置项-compilerOptions

语言和环境相关配置02

jsx功能 -jsx

这个选项控制 JSX 文件输出 JavaScript 文件的方式,仅仅影响.tsx文件到JS 文件的输出。

  • react-jsx:输出的js 文件,将 JSX 语法转换为经过优化的针对生产环境调用的 _jsx
  • react-jsxdev:输出的js 文件,将 JSX 语法转换为针对开发环境调用的_jsxDEV
  • preserve:输出 .jsx 文件,并且保持 JSX 语法不变
  • react-native:输出 .js 文件,但保持 JSX 语法不变
  • react:输出的js 文件,将 JSX 语法转换为等价的React.createElement

例如,以下示例代码:

export const HelloWorld = () => <h1>Hello world</h1>;

设置为React的 react-jsx

import { jsx as _jsx } from "react/jsx-runtime";
export const HelloWorld = () => _jsx("h1", { children: "Hello world" });

设置为React的开发模式: [1]"react-jsxdev"

import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
const _jsxFileName = "/home/runner/work/TypeScript-Website/TypeScript-Website/packages/typescriptlang-org/index.tsx";
export const HelloWorld = () => _jsxDEV("h1", { children: "Hello world" }, void 0, false, { fileName: _jsxFileName, lineNumber: 9, columnNumber: 32 }, this);

设置为 "preserve"

import React from 'react';
export const HelloWorld = () => <h1>Hello world</h1>;

设置为 "react-native"

import React from 'react';
export const HelloWorld = () => <h1>Hello world</h1>;

在老版本React运行时中设置为 "react"

import React from 'react';
export const HelloWorld = () => React.createElement("h1", null, "Hello world");

这个选项也可以通过在每个文件的基础注释中添加 @jsxRuntime 启用。

例如,对以下文件始终使用经典的运行时(与选项设置为 react 相等,但只针对该文件):

/* @jsxRuntime classic */
export const HelloWorld = () => <h1>Hello world</h1>;

例如,对以下文件始终使用自动运行时(与选项设置为 react-jsx 相等,但只针对该文件):

/* @jsxRuntime automatic */
export const HelloWorld = () => <h1>Hello world</h1>;

相关文章

网友评论

      本文标题:TSConfig文件详解36

      本文链接:https://www.haomeiwen.com/subject/fcyyhjtx.html