vite和webpack的区别有哪些

发布时间:2023-01-13 13:52:01 作者:iii
来源:亿速云 阅读:242

这篇文章主要介绍“vite和webpack的区别有哪些”,在日常操作中,相信很多人在vite和webpack的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vite和webpack的区别有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

区别:1、webpack服务器启动速度比vite慢;由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。2、vite热更新比webpack快;vite在HRM方面,当某个模块内容改变时,让浏览器去重新请求该模块即可。3、vite用esbuild预构建依赖,而webpack基于node。4、vite的生态不及webpack,加载器、插件不够丰富。

全方位对比vite和webpack

webpack打包过程

webpack打包原理

重点:这里需要递归识别依赖,构建依赖图谱。图谱对象就是类似下面这种

{ './app.js':
   { dependencies: { './test1.js': './test1.js' },
     code:
      '"use strict";\n\nvar _test = _interopRequireDefault(require("./test1.js"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\n\nconsole.log(test
1);' },
  './test1.js':
   { dependencies: { './test2.js': './test2.js' },
     code:
      '"use strict";\n\nvar _test = _interopRequireDefault(require("./test2.js"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }\n\nconsole.log(\'th
is is test1.js \', _test["default"]);' },
  './test2.js':
   { dependencies: {},
     code:
      '"use strict";\n\nObject.defineProperty(exports, "__esModule", {\n  value: true\n});\nexports["default"] = void 0;\n\nfunction test2() {\n  console.log(\'this is test2 \');\n}\n\nvar _default = tes
t2;\nexports["default"] = _default;' } }

vite和webpack的区别有哪些

vite原理

如:

 <script type="module" src="/src/main.js"></script>

http://localhost:3000/src/main.js请求main.js文件:

// /src/main.js:
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')

webpack缺点一。缓慢的服务器启动

vite改进

webpack缺点2.使用的是node.js去实现

vite和webpack的区别有哪些

vite改进

webpack致命缺点3.热更新效率低下

vite改进

vite缺点1.生态,生态,生态不如webpack

vite缺点2.prod环境的构建,目前用的Rollup

vite缺点3.还没有被大规模使用,很多问题或者诉求没有真正暴露出来

到此,关于“vite和webpack的区别有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. JAVA中int类型数组怎么修改为泛型
  2. linux中如何在开发板上烧写busybox文件系统

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vite webpack

上一篇:react native更新失效如何解决

下一篇:es6数组如何移除元素

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》