• 技术文章 >web前端 >前端问答

    vite和webpack的区别是什么

    青灯夜游青灯夜游2023-01-11 14:55:30原创154

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

    本教程操作环境:windows7系统、vue3版,DELL G3电脑。

    写在开头

    全方位对比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原理

    如:

     <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致命缺点3.热更新效率低下

    vite改进

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

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

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

    总结

    【相关推荐:vuejs视频教程web前端开发

    以上就是vite和webpack的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Vue vite webpack
    上一篇:react native更新失效怎么办 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • vue项目部署乱码怎么办• 【整理汇总】45+个Vue面试题,带你巩固知识点!• 一文详解vue怎么实现v-model(附代码示例)• 深入聊聊vue3中的reactive()• 详解Vue3响应式的两大利器:ref与reactive• Vue作者尤雨溪发文展望2023,回顾2022!
    1/1

    PHP中文网