Vue 使用Vue-Cli4x 创建Vue项目

本文详细介绍了从旧版本Vue升级到Vue-Cli4x的过程,包括移除旧版、安装新版、创建及配置项目的步骤。作者分享了在升级过程中遇到的问题和解决方法。

Vue 使用Vue-Cli4x 创建Vue项目

因为之前的项目都是用的2x版本 所以新版本并没有太多的关注 今天在解决问题的时候发现原来更新了这么多 一下子踩了很多坑

移除旧版本

npm uninstall -g vue-cli 

安装新版本

npm install -g @vue/cli

创建项目

vue create vue_demo

选择配置

(default为默认配置 sss是我之前自己添加的配置 最后的选项表示自己手动配置 配置完之后会提示是否保存 )
2020-04-20 by ansony
我们选择默认配置 (default 上下键选择):
在这里插入图片描述
在这里插入图片描述
执行以上两行命令
在这里插入图片描述
在这里插入图片描述
收工!!!

在 Nuxt3 项目使用 Ant Design Vue 4.x 时,如果需要支持低版本浏览器(如 IE11 或旧版 Chrome),通常会遇到一些现代 JavaScript 特性(如 ES6+)不被支持的问题。Ant Design Vue 4.x 默认使用现代模块构建,这可能导致在低版本浏览器中加载失败或出现错误。 ### 解决方案 #### 1. 配置 Babel 转译 Ant Design Vue 模块 Nuxt3 默认使用 Vite 构建工具,其依赖的 ES 模块构建方式不会自动转译 `node_modules` 中的包。为了解决兼容性问题,需要手动配置 Vite 的 `optimizeDeps` 和 `build.target` 选项,以确保 Ant Design Vue 的代码能被 Babel 转译。 在 `vite.config.ts` 中添加如下配置: ```ts import { defineNuxtConfig } from 'nuxt/config' import Components from 'unplugin-vue-components/vite' import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers' export default defineNuxtConfig({ vite: { optimizeDeps: { include: ['ant-design-vue'], }, build: { target: ['es2020', 'chrome60', 'firefox54', 'safari11'], }, }, plugins: [ Components({ resolvers: [ AntDesignVueResolver({ importStyle: false, }), ], }), ], }) ``` 此配置确保了 Ant Design Vue 的模块在构建时被正确转译为目标浏览器支持的语法版本。 #### 2. 使用 Polyfill 填充缺失功能 某些现代 API(如 `Promise`, `Array.from`, `Symbol`)在低版本浏览器中不被支持。可以通过引入 Polyfill 来解决这些问题。 安装 polyfill: ```bash npm install --save @vitejs/plugin-react-swc core-js regenerator-runtime ``` 然后在 `main.ts` 中引入: ```ts import 'core-js/stable' import 'regenerator-runtime/runtime' ``` 这样可以为低版本浏览器提供现代 JavaScript 的运行时支持。 #### 3. 引入样式兼容性处理 Ant Design Vue 的样式文件默认使用现代 CSS 特性,如 `:where()` 选择器,这在某些旧浏览器中可能不被支持。可以通过引入官方提供的兼容性样式文件或手动调整样式来解决。 ```ts // main.ts import 'ant-design-vue/dist/reset.css' ``` 该文件是 Ant Design Vue 提供的更兼容的样式版本,相比 `antd.css` 或 `antd.less`,它减少了现代 CSS 特性的使用。 #### 4. 按需加载组件并优化打包 使用 `unplugin-vue-components` 插件结合 `AntDesignVueResolver` 可以实现组件的按需加载,减少打包体积,同时也能降低部分兼容性问题: ```ts import Components from 'unplugin-vue-components/vite' import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers' export default defineNuxtConfig({ plugins: [ Components({ resolvers: [ AntDesignVueResolver({ importStyle: false, // 使用 CSS-in-JS 时禁用自动导入样式 }), ], }), ], }) ``` 此配置确保只引入实际使用的组件,减少不必要的代码,提升性能和兼容性。 #### 5. 测试与调试 在开发过程中,建议使用 BrowserStack 或其他工具对目标浏览器进行测试,确保所有功能在低版本浏览器中正常工作。同时,可以通过 Vite 的 `--modern` 构建模式进行对比测试: ```bash nuxt build --modern ``` 该命令会生成现代浏览器优化的构建,便于对比兼容性差异。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值