create-react-app 的 index.js 文件是如何解析 JSX 的?

How is it that the index.js file of a create-react-app can parse JSX?

使用 create-react-app 创建站点后,可以看到 JSX 使用 ReactDOM.render() 方法在 index.js 文件中呈现。

那么,JSX 怎么可能仍在该方法之外进行解析,如下所示:

index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

const jsxArray = [
    <div>test</div>,
    <div>test</div>,
    <div>test</div>
];

console.log(jsxArray);

ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

控制台输出:

工作中的babel编译器

Babel 只编译目标文件中与插件匹配的任何有效语法,它基本上不关心你是否将语法放入任何有效的 Reactjs 组件中。

所以基本上,您可以将任何带有 babel compiler 目标的文件设置为 jsx,它将 return 该文件中的任何 jsx 语法设置为普通的 javascripts。

而且也没有必要在任何实际组件中执行此操作

你可以试试here