Home > Article > Web Front-end > Parcel.js+Vue 2.x quick configuration packaging method
This time I will bring you the method of quick configuration and packaging of Parcel.js Vue 2.x. What are the precautions for quick configuration and packaging of Parcel.js Vue 2.x? The following is a practical case. Get up and take a look.
After Browserify and Webpack, another packaging tool Parcel was born The official website of Parcel.js has this self-introduction as "Extremely fast zero-configuration web application packaging tool" After a brief contact, in terms of efficiency, it is indeed much better than webpack, but there are many pitfalls. It should gradually become more popular after future upgrades Official documentation:https://parceljs.org/getting_started.html
Official GitHub: https://github.com/parcel-bundler/parcel1. Basic usage
Parcel can be installed using npm or yarn. Personally, I am used to using npm. This blog will explain it based on npm First you need to install Parcel.js globally // Current version 1.3.0npm install -g parcel-bundlerThen write a
configuration file... No, this is not webpack, this is parcel, zero configuration packaging
Directlycreate the project directory and write a simple traditional page
Then open the command line tool in the project root directory and enter the following commandparcel index.html -p 3030Then open http://localhost:3030/ in the browser to open the page you just developed In the above command, -p is used to set the port number. If not set, port 1234 will be started by default Parcel supports hot updates and will monitor changes in html, css, and js and render them in real time //In fact, the css and js introduced through src cannot be hot updated After development is completed, enter the following command to package
parcel build index.htmlAfter packaging, a dist directory will be generated Qiaodou sacks, what about the promised packing? Why are there still so many files? Don’t worry, this is a page written in the traditional way. It doesn’t even have package.json. Next, if it is transformed into a
modular project, you can see the effect of packaging
Okay, let me open index.html manually first to see the effect...wait...why is the css not loaded? This is because the packaged paths are all absolute paths, so it is no problem to put them on the server. If you need to open them locally, you have to manually change them to relative paths2. Application in modular projects
At the beginning of the main film, first transform the above project into a modular project Create a default package.json through thenpm init -y command, and modify the startup and packaging commands
npm run dev , npm run build
execute and package it
npm install parcel-bundler -SThe above is a traditional page, using css introduced by link Since you want to transform it into a modular project, you only need to introduce a main.js, and then introduce other css and js files in main.js So you need to use ES6 syntax such as import, then install babel
npm install babel-preset-env -SThen create a .babelrc file in the root directory and add the following configuration:
{ "presets": ["env"] }Install another css conversion tool, such as autoprefixer
npm install postcss-modules autoprefixer -SCreate .postcssrc file:
{ "modules": true, "plugins": { "autoprefixer": { "grid": true } } }The official document also recommends a plug-in for compiling html resources, PostHTML, but it is not needed here for the time being Modify the code yourself, and finally
npm run build Packaging
3. Using Parcel in Vue projects
The official documentation gives recipes suitable for react projects但我常用的是 vue,研究了好久,终于找到了方法
依旧使用 index.html 作为入口,以 script 引入 main.js:
<!-- index.html --> <body> <p id="app"></p> <script src="./src/main.js"></script> </body> // main.js import 'babel-polyfill' import Vue from 'vue' import App from './App.vue' import router from './router' import './css/common.css' Vue.config.productionTip = false const vm = new Vue({ el: '#app', router, render: h => h(App) })
这里要推荐一个很厉害的插件 parcel-plugin-vue,它让 parcel 和 vue 成功牵手
再加上之前提到的 babel、autoprefixer,最后的 package.json 是这样的:
{ "name": "ParcelVue", "version": "1.0.0", "description": "The project of parcel & vue created by Wise Wrong", "main": "main.js", "scripts": { "dev": "parcel index.html -p 3030", "build": "parcel build index.html" }, "keywords": [ "parcel", "vue" ], "author": "wisewrong", "license": "ISC", "devDependencies": { "autoprefixer": "^7.2.3", "babel-polyfill": "^6.26.0", "babel-preset-env": "^1.6.1", "parcel-bundler": "^1.3.0", "parcel-plugin-vue": "^1.4.0", "postcss-modules": "^1.1.0", "vue-loader": "^13.6.1", "vue-style-loader": "^3.0.3", "vue-template-compiler": "^2.5.13" }, "dependencies": { "vue": "^2.5.13", "vue-router": "^3.0.1" } }
一定记得在根目录创建 .postcssrc 和 .babelrc 文件
然后 npm install 安装依赖, npm run dev 启动项目,npm run build 打包项目
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
The above is the detailed content of Parcel.js+Vue 2.x quick configuration packaging method. For more information, please follow other related articles on the PHP Chinese website!