• 工程化vite+vue2打包配置文件配置表


    【前端工程化】vue2+webpack3项目迁移vite2踩坑总结 - 知乎

    打开vite官网,按照官网提示创建新的vite项目(由于原先项目没有用ts,所以创建项目不选ts版本,包管理工具也依然选择是npm)。

    npm init vite@latest my-vue-app -- --template vue
    1. 把create创建vue的src整个复制粘贴到基于vite对的项目中
    2. 把create创建的package.js中的

     创建完成后,使用vs code打开,打开命令行,执行npm i安装依赖

    npm i

    安装依赖完成后,使用npm run dev启动项目

    npm run dev

    第二步,安装vite-plugin-vue2依赖

    npm install vite-plugin-vue2 -D

    配置依赖生成

     

    配置vite.config.js配置文件  注意base的路径!!!!

     配置vite支持vue2

    @vitejs/plugin-vue插件是对vue3语法做支持,如果要支持vue2,需要用vite-plugin-vue2

    第一步,从vite中删除@vitejs/plugin-vue配置,从package.json文件中也删除。

    npm uninstall @vitejs/plugin-vue -D
    1. /*
    2. * @Author: zhoufayang zhoufayang@bzfar.com
    3. * @Date: 2022-06-02 12:07:44
    4. * @LastEditors: zhoufayang zhoufayang@bzfar.com
    5. * @LastEditTime: 2022-10-23 18:03:04
    6. * @FilePath: \fa\vite.config.js
    7. * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
    8. */
    9. import {
    10. defineConfig,
    11. loadEnv
    12. } from 'vite'
    13. import {
    14. createVuePlugin
    15. } from "vite-plugin-vue2";
    16. import legacyPlugin from '@vitejs/plugin-legacy'
    17. import viteCompression from 'vite-plugin-compression'
    18. // vue3 所需要的插件
    19. // import Components from 'unplugin-vue-components/vite'
    20. // import AutoImport from 'unplugin-auto-import/vite'
    21. // import {
    22. // ElementPlusResolver
    23. // } from 'unplugin-vue-components/resolvers'
    24. export default defineConfig({
    25. server: {
    26. port: 8080,
    27. host: "localhost",
    28. // 是否自动在浏览器打开
    29. open: true,
    30. // 是否开启 https
    31. https: false,
    32. proxy: {
    33. '/api': {
    34. // target: 'https://blog.csdn.net/weixin_45292658',
    35. changeOrigin: true,
    36. rewrite: (path) => path.replace(/^\/api/, ''),
    37. },
    38. },
    39. },
    40. plugins: [
    41. // IE和旧版chrome兼容
    42. legacyPlugin({
    43. targets: ['chrome 52'], // 需要兼容的目标列表,可以设置多个
    44. additionalLegacyPolyfills: ['regenerator-runtime/runtime'] // 面向IE11时需要此插件
    45. }),
    46. createVuePlugin({
    47. vueTemplateOptions: {},
    48. }),
    49. // gzip静态资源压缩
    50. viteCompression({
    51. verbose: true,
    52. disable: false,
    53. threshold: 10240,
    54. algorithm: 'gzip',
    55. ext: '.gz',
    56. })
    57. ],
    58. base: './',
    59. resolve: {
    60. // /* 暂时先加.vue, .js, .json */
    61. // extensions: [".vue", ".js", ".json"],
    62. extensions: [".vue", ".mjs", ".js", ".ts", ".jsx", ".tsx", ".json"],
    63. /* 添加alias规则 */
    64. alias: [{
    65. find: '@/',
    66. replacement: '/src/'
    67. }],
    68. },
    69. build: {
    70. // 清除console和debugger
    71. terserOptions: {
    72. compress: {
    73. drop_console: true,
    74. drop_debugger: true,
    75. },
    76. },
    77. // chunkSizeWarningLimit: 1500,大文件报警阈值设置,不建议使用
    78. rollupOptions: {
    79. output: {
    80. chunkFileNames: 'static/js/[name]-[hash].js',
    81. entryFileNames: 'static/js/[name]-[hash].js',
    82. assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
    83. // 超大静态资源拆分
    84. manualChunks(id) { //静态资源分拆打包
    85. if (id.includes('node_modules')) {
    86. return id.toString().split('node_modules/')[1].split('/')[0].toString();
    87. }
    88. }
    89. }
    90. }
    91. }
    92. })

    修改package.json中配置文件

     

  • 相关阅读:
    机器学习之Sigmoid函数
    DBdoctor产品体验报告
    使用GH(命令行)在本地提出Github上的issue、PR,合并PR
    Vue2系列 -- 组件自动化全局注册(require.context)
    Mysql中常见的锁
    【数据分享】2022年全国各城市公交线路与站点数据
    为什么sleeping的会话会造成阻塞(2)
    免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
    CloudCompare 二次开发(10)——点云投影到平面
    leetcode-414-第三大的数
  • 原文地址:https://blog.csdn.net/qq_41328247/article/details/127726260