For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt, and this page is available as Markdown at /zh/apis/app/hooks/src/entry.md.
  • 简体中文
  • entry.tsx

    通常情况下routes/ 和 App.tsx 钩子文件已经能满足我们的需求,当我们需要在组件渲染之前添加自定义行为或者完全接管 Rspack 打包入口时,可以在 src 或者入口目录下放置 entry.ts。下面分两种情况进行讨论。

    在组件渲染前添加自定义行为

    在 src/entry.ts 中这样实现:

    src/entry.tsx
    import { createRoot } from '@modern-js/runtime/react';
    import { render } from '@modern-js/runtime/browser';
    
    const ModernRoot = createRoot();
    
    async function beforeRender() {
      // todo
    }
    
    beforeRender().then(() => {
      render(<ModernRoot />);
    });

    完全接管 Rspack 入口

    当项目未安装 @modern-js/runtime 依赖时, src/entry.tsx? 即为真正的 Rspack 打包入口文件, 可以直接像使用 create-react-app 等脚手架一样组织代码:

    src/entry.jsx
    import React from 'react';
    import ReactDOM from 'react-dom/client';
    import App from './App';
    
    ReactDOM.createRoot(document.getElementById('root')!).render(<App />);