当前时间 2024-08-31
看到一个新的打包工具,于是想试一试,这里是官网
测试
用过 vue-cli
的同志们应该有所感受,启动项目挺慢的,我这个项目不太大,第一次启动是最慢的,之后启动快了一些些,而且也是编译了三四次,也花费了六七秒的时间(第一次的时间大概有10多秒,我没录下来)
再试试 rsbuild
,用了不到 4s
,不过对比第一次冷启动还是快了不少的
迁移过程
不同脚手架的项目迁移,具体参照的是 官网的迁移
因为我是 Vue2-cli
的项目,所以参考了下面的链接:
只是添加了一个 rsbuild.config.js
文件,还有添加了几个依赖包
我的 rsbuild.config.js
里主要配置了 pluginVue2
以及静态资源的 alias
(路径别名)
什么是 alias :路径别名(alias)允许开发者为模块定义别名,以便于在代码中更方便的引用它们。当你想要使用一个简短、易于记忆的名称来代替冗长复杂的路径时,这将非常有用。
// rsbuild.config.js
import { defineConfig } from "@rsbuild/core";
import { pluginVue2 } from "@rsbuild/plugin-vue2";
import path from "path";
export default defineConfig({
html: {
template: "./public/index.html",
},
plugins: [pluginVue2()],
source: {
// Specify the entry file
entry: {
index: "./src/main.js",
},
alias: {
"@": path.resolve(__dirname, "src"),
"@assets": path.resolve(__dirname, "src/assets"),
"/static": path.resolve(__dirname, "public/static"),
},
},
output: {
distPath: {
root: 'build',
js: 'resource/js',
},
},
});
新增的依赖也挺少的:
热更新
两者都还可以,一个0.1
秒左右,一个 0.4
秒左右
rsbuild
的热更新如下:
vue-cli-serve
热更新如下:
打包测试
同时打包:
感觉处理器资源会有抢夺,所以在试试分开打包:
vue-cli
的打包:
rsbuild
的打包:
速度大概是 8s vs 4.39s (只测了一轮)
体积是图片如下:
打包速度 | 打包体积 | |
---|---|---|
Rsbuild | 4.39s | 7MB |
Vue2-cli | 8s | 7.3MB |
和之前的打包工具共存
因为是在尝鲜阶段,所以想着 vue-cli
和 rsbuild
共存,我测试了一下,当前组合是可以的
问题
Q1: 打包的时候报错: Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin’
Cannot find module 'webpack/lib/rules/BasicEffectRulePlugin'
安装这个:
npm install vue-loader@latest