详解Vue快速零配置的打包工具——parcel

网友投稿 415 2023-02-26


详解Vue快速零配置的打包工具——parcel

本文介绍了vue快速零配置的打包工具——parcel,分享给大家,具体如下:

特性

快速打包

打包所有资源

自动转换

代码拆分

模块热替换

友好的错误记录

如何工作

Parcel 将 资源 树转换成 包(bundles) 树。许多其它的打包工具基本上是基于 javascript 资源,还有附加在其上的其它格式的资源。例如,在 js 文件中内联成字符串。 Parcel是对文件类型无感知的,它能按你所期待的方式那样与任意类型的资源工作,且毋须配置。

构建资源树

Parcel 接受单个入口资源作为输入,可以是任意类型:JS、HTML、css、图片文件等等。在 Parcel 中定义了许多不同的资源类型,它知道如何去处理特定的文件类型。资源会被解析,资源的依赖会被提取,资源会被转换成最终编译好的形态。此过程创建了一个资源树。

构建文件束树

一旦资源树被构建好,资源会被放置在文件束树中。首先一个入口资源会被创建成一个文件束,然后动态的 import() 会被创建成子文件束 ,这引发了代码的拆分。当不同类型的文件资源被引入,兄弟文件束就会被创建。例如你在 javaScript 中引入了 CSS 文件,那它会被放置在一个与 JavaScript 文件对应的兄弟文件束中。如果资源被多于一个文件束引用,它会被提升到文件束树中最近的公共祖先中,这样该资源就不会被多次打包。

打包

在文件束树被构建之后,每个文件束都会被 packager 写到一个特定文件类型的文件中。packagers 知道如何从每个资源中将代码合并起来,生成到最终被浏览器加载的文件中。

配置

初始化项目

npm install -g parcel

mkdir xxx && cd xxx && npm init -y

转换

Babel

npm install babel-preset-env --save-dev

根目录配置.babelrc

{

"presets": ["env"]

}

PostCSS

npm install postcss-modules autoprefixer --save-dev

根目录配置.postcssrc

{

"modules": true,

"plugins": {

"autoprefixer": {

"grid": true

}

}

}

支持vue

npm install parcel-plugin-vue --save-dev

添加entry

import App from './App.vue'

import router from './router/index.js'

import './assets/js/rem.js'

window.onload = () => {

const vm = new Vue({

el: '#app',

router,

render: h => h(App)

})

}

配置index.html

配置路由(代码拆分--懒加载)

{

path: 'home',

component: () =>import('../pages/home.vue')

}

import()返回的是一个promise,所以也可以用 async/await 语法,当你想在本地使用 async/await 语法,请引入 babel-polyfill

区分生产环境和开发环境,配置package.json.

dev --- 开发环境

build --- 生产环境

"scripts": {

"dev": "parcel index.html -p 3700",

"build": "parcel build index.html"

}

大功告成

访问http://localhost:3700/home

此demo是vue + parcel + grid +stylus完成 : parcel-vue


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:快递接口开发(快递信息接口)
下一篇:天气接口测试用例图片(天气 接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~