前年年底一时兴起,我开始尝试 React。从《手动搭建基于 Webpack 的 React 项目开发环境》这篇文章起,我逐渐把手头的个人项目都迁移到了 React。一年多过去了,我决定回到 Vue。
回到 Vue 并不代表 React 不好,只是对我来说,它的 Hook 组件在使用时需要注意的方面太多,让我在开发稍微复杂点的项目时缺乏安全感。但要完全弄懂它的 Hook 组件逻辑又过于劳心劳力。我无意成为 React 专家,只是想找一个顺手的前端组件工具库解决自己的业务问题,所以从易用性考虑,我决定还是回到 Vue。
目前最新的 Vue 版本是 Vue3,看官方文档,推荐的打包工具是 Vite。尝试了一下,的确是方便快捷。配置简单,打包速度快,还支持自动刷新浏览器页面……,但貌似不太适合我的使用场景。比如它强制使用 localhost
本地域名访问,而我是给每个项目都分配了一个开发域名。另外和前后端一体的项目整合流程貌似也有点麻烦。在体验了它的代理配置方式依然无法正常集成到现有项目后,我决定还是回到 Webpack。虽然它的打包速度一直被诟病,但以我的项目体量,影响不大。
Vue3 官方文档只提供了 vite 的安装说明,使用 Webpack 只能自己摸索。还好有其他人分享的经验,节省了我不少时间。以下是搭建过程,开始之前请先安装好最新的 Node.js,确保 npm
命令能正常使用。
首先创建一个项目目录,并进入项目目录:
mkdir demo
cd demo
安装 Webpack:
npm install -D webpack webpack-cli
安装 Vue 和相关插件:
npm install vue@next vue-loader@next @vue/compiler-sfc
安装 CSS 插件,以支持 Vue 组件文件中的 <style>
样式标签:
npm install -D style-loader css-loader
通过以上步骤,基本实现了支撑 Vue 组件打包的基础依赖环境,接下来创建 Webpack 的打包配置文件: webpack.config.js
,配置代码如下:
const path = require('path')
const { VueLoaderPlugin } = require('vue-loader')
module.exports = {
entry: {
path: './main.js',
},
output: {
filename: '[name].js',
},
module: {
rules: [
{
test: /\.vue$/,
use: 'vue-loader',
},
{
test: /.css$/,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [
new VueLoaderPlugin(),
]
}
最后配置打包命令。在 package.json
文件中添加以下代码:
"scripts": {
"dev": "webpack --mode=development --watch",
"prod": "webpack --mode=production"
}
这样就可以执行 npm run dev
完成开发时的打包文件输出,执行 npm run prod
完成线上打包的输出。以上就完成了一个最基础的 Vue 开发环境。后续只要根据需求补充依赖组件并配置 webpack.config.js
文件即可。