You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在preact-cli创建的Preact应用中无需eject添加react-router

Preact CLI 无eject配置react-router-dom方案

1. 安装依赖

首先安装react-router-dom包:

npm install react-router-dom
# 或使用yarn
yarn add react-router-dom

如果你的项目使用Preact 10及以上版本,可以直接使用Preact内置的compat兼容层,无需额外安装preact-compat包,配置时直接指向preact/compat即可

2. 新增自定义webpack配置

Preact CLI 支持通过根目录下的preact.config.js文件扩展webpack配置,完全不需要执行eject操作。
在项目根目录新建preact.config.js文件,写入以下配置:

// preact.config.js
export default (config, env, helpers) => {
  // 扩展别名配置,把react/react-dom指向preact兼容层
  config.resolve.alias = {
    ...config.resolve.alias,
    // 如果你用的是单独安装的preact-compat
    'react': 'preact-compat',
    'react-dom': 'preact-compat'
    // Preact 10+ 内置compat的话替换为下面两行
    // 'react': 'preact/compat',
    // 'react-dom': 'preact/compat'
  }
}

3. 正常使用react-router-dom

配置完成后重启本地开发服务,你原有的导入语句可以直接正常使用,不需要做任何修改:

import {BrowserRouter as Router, Route, Switch, NavLink} from 'react-router-dom';

后续直接按照react-router-dom的常规用法编写路由逻辑即可。


内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:15:03