使用 Parcel 构建 Vue.js 项目
Parcel 是一款 Web 应用打包工具,与 Webpack 相比,最大的特点就是极速零配置。
因为使用 npm 会出现莫名其妙的安装失败问题,所以这里使用 yarn 管理依赖。
初始化项目
yarn init
安装依赖
yarn add parcel-bundler --dev yarn add vue vue-router
项目目录
与 Vue CLI 3 构建的目录大致相同。
├── public │ └── index.html ├── src │ ├── components │ │ ├── componentA.vue │ │ └── componentB.vue │ ├── App.vue │ ├── main.js │ └── router.js ├── package.json
// main.js
import Vue from 'vue';
import App from './App.vue';
import router from './router'
new Vue({
el: '#app',
router,
render: h => h(App),
});<!-- public/index.html --> <!-- 引入 main.js --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>parcel-vue</title> </head> <body> <div id="app"></div> <script src="../src/main.js"></script> </body> </html>
由于我是局部安装 Parcel,所以要执行 parcel 命令需要在 package.json 添加执行脚本。
{
"name": "parcel-vue",
"version": "1.0.0",
"main": "public/index.html",
"scripts": {
"dev": "parcel public/index.html",
"build": "rm -rf dist && parcel build public/index.html --public-url ./"
},
"devDependencies": {
"@vue/component-compiler-utils": "^2.6.0",
"parcel-bundler": "^1.12.1",
"vue-template-compiler": "^2.6.8"
},
"dependencies": {
"vue": "^2.6.10",
"vue-hot-reload-api": "^2.3.3",
"vue-router": "^3.0.2"
}
}执行构建
启动开发服务器:
yarn run dev
项目打包构建:
yarn run build
最后
Parcel 从 v1.7.0 开始添加对 .vue 文件的支持,所以现在构建 Vue.js 项目几乎就是零配置,非常方便。