当前位置: 首页 > news >正文

做邀请函用哪个网站好呢/搜索自媒体平台

做邀请函用哪个网站好呢,搜索自媒体平台,扬州市住房和城乡建设局网站,织梦商城网站模板免费下载🛠️ Vue CLI 项目迁移到 Rsbuild 指南 📦 一、为什么迁移到 Rsbuild? ⚡ 构建更快:基于 Rspack 构建,性能比 Webpack 更强。📁 配置更灵活:支持现代配置语法,更易读可维护。&#…

🛠️ Vue CLI 项目迁移到 Rsbuild 指南


📦 一、为什么迁移到 Rsbuild?

  • ⚡ 构建更快:基于 Rspack 构建,性能比 Webpack 更强。
  • 📁 配置更灵活:支持现代配置语法,更易读可维护。
  • 🧩 插件生态丰富:内置 Vue、Less、TypeScript 支持,无需额外配置。
  • 🧹 自动优化:默认启用 Tree-shaking、缓存等现代优化技术。

🚧 二、迁移准备工作 (以npm为例)

1. 卸载 Vue CLI 相关依赖

npm remove @vue/cli-service @vue/cli-plugin-babel @vue/cli-plugin-eslint core-js

2. 安装 Rsbuild 及其插件

npm install @rsbuild/core @rsbuild/plugin-vue @rsbuild/plugin-less -D

📂 三、迁移目录结构建议(可选)

保持原目录结构基本不变,大部分迁移只涉及构建配置部分:

├── public/                # 静态资源目录
├── src/
│   ├── assets/
│   ├── components/
│   ├── views/
│   └── main.ts           # 入口文件
├── index.html
├── rsbuild.config.ts     # Rsbuild 配置文件
└── tsconfig.json

⚙️ 四、核心配置迁移:vue.config.js → rsbuild.config.ts

新建 rsbuild.config.ts,将原来的 vue.config.js 中核心配置进行迁移。

✅ 示例完整配置:

// rsbuild.config.ts
import { defineConfig } from "@rsbuild/core";
import { pluginVue } from "@rsbuild/plugin-vue";
import { pluginLess } from "@rsbuild/plugin-less";
import path from "path";// 目录解析函数
const resolve = (dir: string) => path.resolve(__dirname, dir);// 环境代理配置映射(支持 dev、old_dev、pro)
const proxyMap = {dev: "https://abc.cn/",old_dev: "http://175.34.2.58:8889",pro: "https://aaa.com/"
};// 当前执行的 npm 脚本名决定代理目标
const env = process.env.npm_lifecycle_event || "dev";// ✅ Rsbuild 主配置
export default defineConfig({// 插件配置plugins: [pluginVue(),pluginLess({lessLoaderOptions: {lessOptions: {javascriptEnabled: true,modifyVars: {"primary-color": "#409EFF","success-color": "#67C23A","warning-color": "#E6A23C","error-color": "#F05F60","link-color": "#1890FF","@text-color": "#333333","@text-color-secondary": "#999999","@border-radius-base": "4px"}},// 全局样式注入additionalData: '@import "@/assets/less/global.less";'}})],// 开发配置dev: {hmr: true,writeToDisk: true, // 开发时是否写入磁盘(方便调试)cache: {type: "filesystem" // 使用磁盘缓存加速编译}},// 入口文件和别名定义source: {entry: {index: resolve("src/main.ts")},alias: {"@": resolve("src")},define: {// 设置环境变量"process.env": {API_BASE_URL: JSON.stringify(process.env.VUE_APP_API_BASE_URL)}}},// devServer 配置(替代 vue.config.js 中的 devServer)server: {port: 8080,compress: false,hmr: true,proxy: {"/api": {target: proxyMap[env],changeOrigin: true,logLevel: "debug",cookieDomainRewrite: {"*": "localhost"}}}},// 构建输出配置output: {assetPrefix: "/", // 公共资源路径manifest: true,   // 是否生成 manifest.jsondistPath: {root: "./dist"},sourceMap: {js: process.env.NODE_ENV === "development" ? "inline-source-map" : "source-map",css: false}},html: {template: "./public/index.html"},// 去除生产环境 consoleperformance: {removeConsole: true},// bundlerChain 可以访问底层 Rspack 配置,适配 Webpack 迁移项tools: {bundlerChain(config) {/*** 🖼️ 处理 SVG 图标为 sprite 图(替代 vue.config.js 中的 svg-sprite-loader)*/config.module.rules.delete("svg");config.module.rule("svg-sprite-loader").test(/\.svg$/).include.add(resolve("src/assets/icons")).end().use("svg-sprite-loader").loader("svg-sprite-loader").options({symbolId: "icon-[name]"});/*** 📦 拆包策略(等价于 vue.config.js -> chainWebpack.optimization.splitChunks)*/config.optimization.splitChunks({chunks: "all",minSize: 20000,maxAsyncRequests: 6,maxInitialRequests: 6,cacheGroups: {"vendors-base": {test: /[\\/]node_modules[\\/](vue|vue-router|axios)/,name: "vendors-base",priority: 10,reuseExistingChunk: true},"vendors-console": {test: /[\\/]node_modules[\\/](ant-design-vue|dayjs)/,name: "vendors-console",priority: 8,reuseExistingChunk: true},"vendors-jspreadsheet": {test: /[\\/]node_modules[\\/](@jspreadsheet)/,name: "vendors-jspreadsheet",priority: 8,reuseExistingChunk: true},"chunk-vendors": {test: /[\\/]node_modules[\\/]/,name: "chunk-vendors",priority: 1,reuseExistingChunk: true}}});}}
});

🔄 五、环境变量迁移

Vue CLI 使用 .env.* 文件定义变量,例如:

VUE_APP_API_BASE_URL='/api'

Rsbuild 同样支持 .env 文件,使用 process.env.VUE_APP_API_BASE_URL 获取,无需修改原代码中的变量读取逻辑


🧪 六、运行开发环境

npx rsbuild dev

🧱 七、打包构建项目

npx rsbuild build

✅ 八、注意事项

项目Vue CLIRsbuild
构建工具WebpackRspack(更快)
SVG 图标处理方式svg-sprite-loader相同(配置写法略不同)
全局 less 变量引入style-resources-loader使用 additionalData 方式引入
环境变量注入process.env.VUE_APP_同样支持,无需更改
拆包优化配置chainWebpacktools.bundlerChain 内设置

📌 九、推荐 Rsbuild 插件(按需使用)

插件用途
@rsbuild/plugin-vueVue 3 支持
@rsbuild/plugin-lessLess 支持 + 变量注入
@rsbuild/plugin-swc替代 Babel 编译器,速度更快
@rsbuild/plugin-legacy浏览器兼容插件,支持低版本浏览器
@rsbuild/plugin-analyze构建分析图(类似 webpack-bundle-analyzer)

如需进一步定制,可参考官方文档:

🔗 Rsbuild 官方文档


scripts

"scripts": {"dev": "rsbuild dev","build": "rsbuild build","analyze": "rsbuild build --analyze"
}
http://www.whsansanxincailiao.cn/news/31949724.html

相关文章:

  • 普通话考试最后一题万能模板/长沙网站seo哪家公司好
  • 建三江佳木斯网站建设/东莞seo广告宣传
  • 男女做的羞羞事的网站/网络营销专业培训学校
  • 模拟黑客网站/深圳创新创业大赛
  • 南川网站建设/郑州seo优化顾问
  • 做外贸生意是不是需要建网站/seo零基础入门教程
  • 公司网站 源码/成都seo推广员
  • 做文学网站需要/俄罗斯网络攻击数量增长了80%
  • 上海市卫生健康委员会/seo优化方向
  • 人才网网站模板/百度灰色关键词排名
  • 电商课程培训/厦门谷歌seo公司
  • 楚风网站建设工作室/微信加精准客源软件
  • 我们为什么选择做电子商务网站/我为什么不建议年轻人做销售
  • 品牌宣传网站制作/网络营销环境分析
  • 微网站微商城建设/企业网站建设报价表
  • 吉林省网站建设/网络营销策划书的结构是什么
  • 专门做广东11选5的网站/seo首页关键词优化
  • 网站后台用什么做/提高工作效率心得体会
  • word和wordpress/沈阳百度快照优化公司
  • 做网站用php还是html好/哈尔滨百度公司地址
  • 商城网站建设策划书/百度搜索高级搜索
  • 做招聘海报的网站/官方网站营销
  • 政府网站系统安全建设方案/国内打开google网页的方法
  • 吉林省住房建设安厅网站/杭州seo服务公司
  • 网站免费优化平台/站长统计app软件下载官网
  • 中山企业网站建设/google商店
  • 阿里备案成功后怎么做网站/百度搜索热度排名
  • 做网站挂靠/中山seo关键词
  • 微博推广软件/上海排名优化seobwyseo
  • 机械公司网站建设/全球十大网站排名