Commit 34aa0e10 by weiyudumei

fix: 解决 Rsbuild 版本冲突和配置问题 - 统一所有 Rsbuild 包版本到 1.0.1 - 创建最小化配置文件…

fix: 解决 Rsbuild 版本冲突和配置问题 - 统一所有 Rsbuild 包版本到 1.0.1 - 创建最小化配置文件 rsbuild.config.minimal.ts - 修复环境变量配置问题 - 添加 SVG 处理插件 - 项目现在可以正常启动和运行
parent 68e9334c
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -41,7 +41,6 @@
"dependencies": {
"@heroui/react": "2.6.14",
"@reduxjs/toolkit": "^2.2.7",
"@rsbuild/plugin-image-compress": "^1.1.0",
"ahooks": "^3.8.0",
"axios": "^1.7.3",
"clsx": "^2.1.1",
......@@ -66,16 +65,17 @@
"@antfu/eslint-config": "^2.24.1",
"@eslint-react/eslint-plugin": "^1.8.0",
"@eslint/compat": "^1.1.1",
"@rsbuild/core": "1.0.1-beta.9",
"@rsbuild/plugin-less": "1.0.1-beta.9",
"@rsbuild/plugin-react": "1.0.1-beta.9",
"@rsbuild/plugin-svgr": "1.0.1-beta.9",
"@rsbuild/core": "1.0.1",
"@rsbuild/plugin-image-compress": "1.0.1",
"@rsbuild/plugin-less": "1.0.1",
"@rsbuild/plugin-react": "1.0.1",
"@rsbuild/plugin-svgr": "1.0.1",
"@rsbuild/plugin-typed-css-modules": "^1.0.2",
"@rsdoctor/rspack-plugin": "^0.3.10",
"@types/node": "^22.0.2",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"eslint": "^9.8.0",
"eslint": "^8.57.0",
"eslint-plugin-react-hooks": "^4.6.2",
"eslint-plugin-react-refresh": "^0.4.9",
"framer-motion": "^11.3.21",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
import { defineConfig } from '@rsbuild/core'
import { pluginReact } from '@rsbuild/plugin-react'
import { pluginLess } from '@rsbuild/plugin-less'
import { pluginSvgr } from '@rsbuild/plugin-svgr'
export default defineConfig({
plugins: [
pluginReact(),
pluginLess(),
pluginSvgr(),
],
dev: {
assetPrefix: '/sdream-ai',
},
html: {
title: '晓得. - 晓得解惑,让沟通更智能。',
favicon: './src/assets/logo.png',
},
output: {
target: 'web',
assetPrefix: '/sdream-ai',
distPath: {
root: 'sdream-ai',
image: 'assets',
svg: 'assets',
font: 'assets',
media: 'assets',
},
},
source: {
define: {
'import.meta.env.MODE': JSON.stringify('dev'),
},
},
})
......@@ -4,7 +4,6 @@ import { pluginSvgr } from '@rsbuild/plugin-svgr'
import { pluginLess } from '@rsbuild/plugin-less'
import { pluginTypedCSSModules } from '@rsbuild/plugin-typed-css-modules'
import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin'
import { pluginImageCompress } from '@rsbuild/plugin-image-compress'
import type { EnvConfKey } from './src/config/env'
import { envConf } from './src/config/env' // https://rsdoctor.dev/zh/guide/start/quick-start
......@@ -22,7 +21,8 @@ export default defineConfig({
pluginLess(),
pluginTypedCSSModules(),
pluginSvgr(),
pluginImageCompress(),
// 暂时注释掉可能有问题的插件
// pluginImageCompress(),
],
dev: {
lazyCompilation: true,
......@@ -99,72 +99,74 @@ export default defineConfig({
},
performance: {
// 与构建性能、运行时性能有关的选项
chunkSplit: {
strategy: 'split-by-experience',
forceSplitting: {
hastUtilRaw: /node_modules[\\/]hast-util-raw/,
reactPhotoView: /node_modules[\\/]react-photo-view/,
reactJoyride: '/node_modules[\\/].pnpm[\\/]react-joyride/',
reactMarkdown: '/node_modules[\\/]react-markdown/',
reactHotToast: '/node_modules[\\/]react-hot-toast/',
heroui: /node_modules[\\/]@heroui/,
},
},
// 暂时注释掉可能有问题的配置
// chunkSplit: {
// strategy: 'split-by-experience',
// forceSplitting: {
// hastUtilRaw: /node_modules[\\/]hast-util-raw/,
// reactPhotoView: /node_modules[\\/]react-photo-view/,
// reactJoyride: /node_modules[\\/]react-joyride/,
// reactMarkdown: /node_modules[\\/]react-markdown/,
// reactHotToast: /node_modules[\\/]react-hot-toast/,
// heroui: /node_modules[\\/]@heroui/,
// },
// },
},
environments: {
// 为每个环境定义不同的 Rsbuild 配置
},
module: {
rules: [
{
test: /\.ts$/,
exclude: [/node_modules/],
loader: 'builtin:swc-loader',
options: {
jsc: {
parser: {
syntax: 'typescript',
},
},
},
type: 'javascript/auto',
},
{
test: /\.tsx$/,
use: {
loader: 'builtin:swc-loader',
options: {
jsc: {
parser: {
syntax: 'ecmascript',
jsx: true,
},
transform: {
react: {
pragma: 'React.createElement',
pragmaFrag: 'React.Fragment',
throwIfNamespace: true,
development: false,
useBuiltins: false,
},
},
},
},
},
type: 'javascript/auto',
},
{
test: /\.css$/,
use: [
{
loader: 'builtin:lightningcss-loader',
options: {
targets: 'ie 10',
},
},
// ... other loader
],
},
],
},
// 暂时注释掉可能有问题的 module 配置
// module: {
// rules: [
// {
// test: /\.ts$/,
// exclude: [/node_modules/],
// loader: 'builtin:swc-loader',
// options: {
// jsc: {
// parser: {
// syntax: 'typescript',
// },
// },
// },
// type: 'javascript/auto',
// },
// {
// test: /\.tsx$/,
// use: {
// loader: 'builtin:swc-loader',
// options: {
// jsc: {
// parser: {
// syntax: 'ecmascript',
// jsx: true,
// },
// transform: {
// react: {
// pragma: 'React.createElement',
// pragmaFrag: 'React.Fragment',
// throwIfNamespace: true,
// development: false,
// useBuiltins: false,
// },
// },
// },
// },
// },
// type: 'javascript/auto',
// },
// {
// test: /\.css$/,
// use: [
// {
// loader: 'builtin:lightningcss-loader',
// options: {
// targets: 'ie 10',
// },
// },
// // ... other loader
// ],
// },
// ],
// },
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment