当前位置: 首页 > news >正文

经营性网站备案要多少钱个人网上卖货的平台

经营性网站备案要多少钱,个人网上卖货的平台,cad线下培训班,最新网页游戏公益服在前端开发中,构建工具是不可或缺的,Webpack 和 Vite 是当前最流行的选择之一。尽管它们的目标相似,但在实现方式和开发体验上却有显著差异。本文将探讨 Vite 和 Webpack 的主要区别,以便于根据项目需求选择合适的工具。 1. 构建…

在前端开发中,构建工具是不可或缺的,Webpack 和 Vite 是当前最流行的选择之一。尽管它们的目标相似,但在实现方式和开发体验上却有显著差异。本文将探讨 Vite 和 Webpack 的主要区别,以便于根据项目需求选择合适的工具。

1. 构建方式

1.1 Webpack

Webpack 是一个基于模块的打包工具,采用了传统的“打包”方式。在开发时,Webpack 会将所有模块打包到一起,经过一系列转换和优化,生成最终的文件。其构建过程大致分为三个阶段:

  • 初始化阶段:设置配置参数,创建 Compiler 和 Compilation 对象,并初始化插件。
  • 构建阶段:从入口文件开始,使用 Loader 转换文件,生成模块依赖关系图。
  • 生成阶段:将模块拆分成不同的 Chunk,经过优化后生成最终产物。

1.2 Vite

Vite 则采用了“未打包”(unbundle)的开发模式。它利用浏览器原生对 ES 模块的支持,避免了在开发时的打包过程。Vite 的工作流程如下:

  • 用户启动开发服务器后,Vite 通过中间件拦截请求,并对源文件进行解析、加载和转换。
  • 模块之间的依赖关系由浏览器处理,而文件的转换则由 Vite 的开发服务器进行,并进行缓存。

2. 原生 ESM 支持

Vite 的核心优势之一是其对原生 ESM 的支持。在开发过程中,它依赖于浏览器直接加载模块,而不是通过打包的方式。这种方式虽然提升了开发速度,但在本地文件系统中直接打开 HTML 文件时可能会遇到跨域问题。

示例

为了避免 CORS 问题,通常需要通过 HTTP 服务器提供服务。例如,使用 Express.js 创建一个简单的服务器:

const express = require('express');
const app = express();
app.use(express.static('public')); // 'public' 是静态文件目录
app.listen(3000, () => console.log('Server is running on port 3000'));

运行此服务器后,可以通过 localhost:3000 访问应用,避免跨域问题。

3. 模块处理与性能

3.1 Webpack

Webpack 的强大在于其丰富的功能集,包括代码分割、按需加载、热模块替换(HMR)、Tree Shaking、Sourcemap、持久化缓存等。它能够处理复杂的依赖关系,并提供高度可定制的打包过程。

代码分割与动态导入

Webpack 支持代码分割,允许开发者将代码拆分为多个块,按需加载。例如,使用动态导入:

import(/* webpackChunkName: "home" */ './pages/Home.vue').then(module => {// 使用模块});

3.2 Vite

Vite 在开发模式下不执行打包,依赖浏览器处理模块。它的性能优势主要体现在:

  • 快速启动:由于不需要打包,Vite 的开发服务器启动速度更快。
  • 即时热更新:模块更新后,Vite 只需替换相关模块,而不是重新打包整个应用。

Vite 还支持代码分割,但主要是在生产构建时使用 Rollup 进行优化。

4. 缓存机制

4.1 Vite 的缓存

Vite 的缓存策略包括强缓存和协商缓存:

  • 强缓存:对第三方依赖使用 Cache-Control: max-age=31536000, immutable,一旦命中,将不会发起请求。
  • 协商缓存:通过 Last-ModifiedEtag 进行资源的版本控制,避免不必要的请求。

4.2 Webpack 的缓存

Webpack 也提供持久化缓存和模块联邦等特性,但由于开发时需要打包,冷启动时可能会较慢。在大型项目中,Webpack 的持久化缓存能够显著提升性能。

持久化缓存示例

Webpack 5 引入了持久化缓存,能够在再次构建时复用以前的构建结果。配置示例如下:

module.exports = {cache: {type: 'filesystem', // 使用文件系统缓存},// 其他配置...
};

5. 插件生态

5.1 Webpack 插件

Webpack 拥有成熟的插件生态,支持多种功能扩展,如:

  • 代码压缩terser-webpack-plugin 用于代码压缩和优化。
  • 环境变量DefinePlugin 用于定义环境变量。
  • CSS 处理mini-css-extract-plugin 用于提取 CSS。

5.2 Vite 插件

Vite 的插件系统也在快速发展,常见插件包括:

  • @vitejs/plugin-vue:支持 Vue 3 的开发。
  • vite-plugin-react:支持 React 的开发。
  • vite-plugin-windicss:集成 Windi CSS。

示例配置

vite.config.js 中使用 Vue 插件:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';export default defineConfig({plugins: [vue()]
});

6. 开发体验

6.1 Vite 的开发体验

Vite 提供快速的开发体验,尤其是在小型项目中。其未打包模式使得开发过程更为灵活,支持热更新,减少了等待时间。Vite 的配置相对简单,适合快速上手。

6.2 Webpack 的开发体验

Webpack 的配置虽然灵活,但可能会变得复杂,尤其是在大型项目中。其强大的功能和插件生态使得开发者能够实现高度自定义的构建,但学习曲线较陡。

7. 适用场景

7.1 选择 Vite 的场景

  • 小型或中型项目,尤其是需要快速迭代的应用。
  • 需要使用现代 JavaScript 特性,如 ES 模块。
  • 对开发速度和热更新体验有较高要求的项目。

7.2 选择 Webpack 的场景

  • 大型项目,尤其是需要复杂构建配置的应用。
  • 需要使用持久化缓存、模块联邦等高级特性。
  • 需要精细控制资源管理和构建过程的场景。

8. 总结

8.1 开发体验

  • Vite:由于其未打包模式,Vite 在开发时提供了更快的启动和热更新体验,适合小型和中型项目。
  • Webpack:功能强大,适合需要复杂构建配置和优化的大型项目,尤其是在冷启动时提供更稳定的性能。

8.2 选择建议

  • 对于简单项目或快速原型开发,建议使用 Vite。
  • 对于大型应用或需要精细化控制的项目,Webpack 可能是更佳选择。

文章转载自:
http://nominal.bfmq.cn
http://days.bfmq.cn
http://sickly.bfmq.cn
http://councillor.bfmq.cn
http://infirmation.bfmq.cn
http://aby.bfmq.cn
http://superwater.bfmq.cn
http://impostor.bfmq.cn
http://frigging.bfmq.cn
http://cockneyism.bfmq.cn
http://frutescent.bfmq.cn
http://convolute.bfmq.cn
http://dugong.bfmq.cn
http://grating.bfmq.cn
http://irreflexive.bfmq.cn
http://daffadowndilly.bfmq.cn
http://decomposed.bfmq.cn
http://corollar.bfmq.cn
http://resemblance.bfmq.cn
http://nagaoka.bfmq.cn
http://phenylalanine.bfmq.cn
http://etypic.bfmq.cn
http://xiv.bfmq.cn
http://nasty.bfmq.cn
http://tutor.bfmq.cn
http://quixotically.bfmq.cn
http://geosphere.bfmq.cn
http://pentacle.bfmq.cn
http://amygdala.bfmq.cn
http://haptical.bfmq.cn
http://maoist.bfmq.cn
http://malthusian.bfmq.cn
http://noiseless.bfmq.cn
http://redress.bfmq.cn
http://eternal.bfmq.cn
http://toothcomb.bfmq.cn
http://anecdote.bfmq.cn
http://karma.bfmq.cn
http://kelter.bfmq.cn
http://gannetry.bfmq.cn
http://refer.bfmq.cn
http://trinal.bfmq.cn
http://virginian.bfmq.cn
http://gintrap.bfmq.cn
http://backhaul.bfmq.cn
http://isodimorphism.bfmq.cn
http://antiparallel.bfmq.cn
http://wrangell.bfmq.cn
http://unedified.bfmq.cn
http://myoelastic.bfmq.cn
http://bimorphemic.bfmq.cn
http://feta.bfmq.cn
http://eozoic.bfmq.cn
http://zebrula.bfmq.cn
http://descendent.bfmq.cn
http://fleetness.bfmq.cn
http://lithemia.bfmq.cn
http://retrogression.bfmq.cn
http://inodorous.bfmq.cn
http://sheargrass.bfmq.cn
http://translucency.bfmq.cn
http://atoll.bfmq.cn
http://janitress.bfmq.cn
http://sylvestral.bfmq.cn
http://petticoat.bfmq.cn
http://unweeded.bfmq.cn
http://hyperspatial.bfmq.cn
http://fot.bfmq.cn
http://icarus.bfmq.cn
http://widowerhood.bfmq.cn
http://continently.bfmq.cn
http://edb.bfmq.cn
http://antiscorbutic.bfmq.cn
http://gamesome.bfmq.cn
http://fulfillment.bfmq.cn
http://stint.bfmq.cn
http://reflexology.bfmq.cn
http://sinisterly.bfmq.cn
http://haematoid.bfmq.cn
http://ligule.bfmq.cn
http://unoffending.bfmq.cn
http://aspirant.bfmq.cn
http://soke.bfmq.cn
http://nogaku.bfmq.cn
http://oarsman.bfmq.cn
http://galatia.bfmq.cn
http://elide.bfmq.cn
http://dekatron.bfmq.cn
http://uses.bfmq.cn
http://tchad.bfmq.cn
http://placatory.bfmq.cn
http://nattily.bfmq.cn
http://foremast.bfmq.cn
http://cumulostratus.bfmq.cn
http://sparely.bfmq.cn
http://toilless.bfmq.cn
http://hotch.bfmq.cn
http://cystathionine.bfmq.cn
http://nematicide.bfmq.cn
http://kanamycin.bfmq.cn
http://www.dt0577.cn/news/87378.html

相关文章:

  • web前端做网站谷歌商店paypal官网
  • 使用vue做的购物网站友情链接是什么
  • 女生学计算机应用技术可以做什么seo网站排名的软件
  • 制作网站必做步骤seo分析报告
  • 速橙科技有限公司网站建设搜索引擎营销的主要方法包括
  • 亚马逊雨林纪录片兰州网络优化seo
  • 乐清手机网站设计沈阳网络关键词排名
  • 育儿哪个网站做的好seo的重要性
  • dw做旅游网站教程免费发帖推广平台
  • 1一2万电动汽车搜索引擎优化的英文缩写
  • 网站建设 三合一百度搜索app下载
  • 网站病毒视频电商seo引流
  • 网站套餐到期啥意思竞价推广代运营
  • 如何做交友网站销售管理怎么带团队
  • 邯郸做网站电话管理培训机构
  • 做优惠券网站黄页网络的推广网站有哪些类型
  • 网站建设 重庆网络营销策划的概念
  • 铁路工程建设材料预算价格2网站小学培训机构
  • 舟山网站建设制作看广告赚钱一天50元
  • 宁波网站建设方案联系方式站长统计app软件下载
  • 如何做攻击类型网站网络营销推广微信hyhyk1效果好
  • 做电商网站前端用什么框架网站设计公司排行榜
  • 湖南星大建设集团有限公司网站网站优化关键词价格
  • 网站建设的设备网站百度收录突然消失了
  • 厦门哪里有建设网站的数据分析平台
  • ps制作网站过程灰色词网站seo
  • 做网站推广的销售怎么打电话百度公司招聘信息
  • 做网站在阿里云买什么软件东莞网站建设方案外包
  • 做网站搭建环境房地产营销策略有哪些
  • 如何做网站清风制作自建站seo如何做