美文网首页前端
Vue 2.7 + Vite项目搭建

Vue 2.7 + Vite项目搭建

作者: ZZES_ZCDC | 来源:发表于2022-07-07 14:19 被阅读0次

    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

    // 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

    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为例):

    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插件

    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

    import { splitVendorChunkPlugin } from 'vite'
    export default defineConfig({
      plugins: [
        splitVendorChunkPlugin(),
      ],
      build: {
        rollupOptions: {
          output: {
            manualChunks: {
              'element-ui': ['element-ui'],
            },
          },
        },
      },
    })
    

    相关文章

      网友评论

        本文标题:Vue 2.7 + Vite项目搭建

        本文链接:https://www.haomeiwen.com/subject/aphpbrtx.html