前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue 2.7 + Vite项目搭建

Vue 2.7 + Vite项目搭建

作者头像
治电小白菜
发布2022-07-08 08:04:56
1.4K0
发布2022-07-08 08:04:56
举报
文章被收录于专栏:技术综合技术综合

Vue 2.7 + Vite

vue2.7 + vue-router3 + pinia 示例代码: https://github.com/klren0312/vite_vue2.7 示例页面: https://klren0312.github.io/vite_vue2.7/

用到的vite插件

  • @vitejs/plugin-vue2 vite的vue2.7插件
  • @vitejs/plugin-legacy 打包支持IE
  • unplugin-vue-components 按需引入插件

相关配置

1. vscode的vetur插件适配

参考资料: https://github.com/vuejs/vetur/issues/2296#issuecomment-1155957974

需要在根目录创建vetur.config.js

代码语言:javascript
复制
// vetur.config.js
module.exports = {
  settings: {
    'vetur.completion.autoImport': false,
    'vetur.experimental.templateInterpolationService': false,
    'vetur.validation.interpolation': false,
    'vetur.validation.template': false,
    'vetur.validation.templateProps': false,
    'vetur.validation.style': false,
    'vetur.validation.script': false,
    'vetur.format.enable': false,
    'vetur.ignoreProjectWarning': true,
    'vetur.languageFeatures.codeActions': false,
    'vetur.languageFeatures.semanticTokens': false,
    'vetur.languageFeatures.updateImportOnFileMove': false,
    'vetur.trace.server': 'off',
    'vetur.underline.refValue': false,
  },
}

或者改用volar插件

usevolar.png

2. vite适配vue2.7

参考资料: https://github.com/vuejs/vue/blob/main/CHANGELOG.md#vue-cli--webpack

使用官方的@vitejs/plugin-vue2插件

vite创建vue项目后, 把插件替换下就行了

3. vue-router安装

vue2应该只支持vue-router3版本

4. pinia安装

按官方文档引入即可: https://pinia.vuejs.org/getting-started.html#installation

代码语言:javascript
复制
import { createPinia, PiniaVuePlugin } from 'pinia'

Vue.use(PiniaVuePlugin)
const pinia = createPinia()

new Vue({
  el: '#app',
  // other options...
  // ...
  // note the same `pinia` instance can be used across multiple Vue apps on
  // the same page
  pinia,
})

5. element-ui按需引入

使用unplugin-vue-components插件

  • 💚 Vue 2 和 Vue 3 开箱即用
  • ✨ 支持组件和指令.
  • ⚡️ 支持 Vite, Webpack, Vue CLI, Rollup, esbuild 等打包工具, powered by <a href="https://github.com/unjs/unplugin">unplugin</a>.
  • 🏝 Tree-shakable,只注册引用的组件.
  • 🪐 文件夹名称作为命名空间.
  • 🦾 ts支持.
  • 🌈 内置解析器 支持主流的UI库.
  • 😃 对 unplugin-icons支持友好.

使用方法(element-ui为例):

代码语言:javascript
复制
import Components from 'unplugin-vue-components/vite'
import { ElementUiResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
  plugins: [
    Components({
      resolvers: [ElementUiResolver()],
    }),
  ],
})

6. 打包后支持ie11

使用@vitejs/plugin-legacy插件

代码语言:javascript
复制
import legacy from '@vitejs/plugin-legacy'
export default defineConfig({
  plugins: [
    legacy({
      targets: ['defaults', 'not ie < 9'],
    }),
  ],
})

7. 分离打包

参考资料: https://cn.vitejs.dev/guide/build.html#chunking-strategy

代码语言:javascript
复制
import { splitVendorChunkPlugin } from 'vite'
export default defineConfig({
  plugins: [
    splitVendorChunkPlugin(),
  ],
  build: {
    rollupOptions: {
      output: {
        manualChunks: {
          'element-ui': ['element-ui'],
        },
      },
    },
  },
})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vue 2.7 + Vite
    • 用到的vite插件
      • 相关配置
        • 1. vscode的vetur插件适配
        • 2. vite适配vue2.7
        • 3. vue-router安装
        • 4. pinia安装
        • 5. element-ui按需引入
        • 6. 打包后支持ie11
        • 7. 分离打包
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档