zoukankan      html  css  js  c++  java
  • vue3.0,vue-cli4,vite 初次尝试

    vue3.0,vue-cli4,vite 初次尝试

     一、介绍

    1。好久没更新新的东西了,一直忙着做项目,最近看了一次直播,才发现,vue3.0发布很久了,且优势很明显,react 17 也出现,当然这里不讲react。在vue上,不仅语法有变化,在打包编译上也有一个新的工具vite,这个文章分为两部分,一部风用vue-cli构建项目,一部分用vite构建一个。

    2.为什么用vue3.0和vite呢。看一下官网不难发现:

    • a.包大小和性能 ,比vue2快了两倍,人在家中坐,KPI任务已完成;
    • b.composition-api;
    • c.tree-shaking 支持;
    • d.typescript;
    • e.custom renderer api;
    • f.新的虚拟dom架构;
    • g.vite真的强,Vite 将会使用 esbuild 构建项目依赖。Esbuild 使用 Go 编写,并且比以 JavaScript 编写的打包器预构建依赖快 10-100 倍。

    二、 vue-cli 搭建vue3.0;

       1.有安装vue-cli 的话,可以直接升级,或者卸载重装

    升级:npm update -g @vue/cli
    卸载:npm uninstall vue-cli
    安装:npm install -g @vue/cli 
    2.创建项目

    vue create your_name
    3.用空格回车,选择你相应的组件依赖和框架

     这里选择:Manually select features ,自定义。上面其它是 vue3.0和 2.0.

        大概选的上面那些。

       选择3.x。

     路由history 模, y。

     这里用scss 。

     eslint 效验规则。

     是否保存就开启编译。

     配置的路径在哪里 这里选 package.json。

      

     这里问你是否将配置保存到本地;y。

     在给配置命名回车就创建项目了。

     最终项目结构如下:

     

    项目下运行 npm run serve;启动。

    4.安装我们用的依赖:element-ui。有意思的是。plues版本。

    npm install element-plus --save

    当然要用按需加载了:

    npm install babel-plugin-import -D

    然后,将 babel.config.js 修改为:

    module.exports = {
      plugins: [
        [
          "import",
          {
            libraryName: 'element-plus',
            customStyleName: (name) => {
              name = name.slice(3)
              return `element-plus/packages/theme-chalk/src/${name}.scss`;
            },
          },
        ],
      ],
    };

    打开 main.js 改为如下

    import { createApp } from 'vue'
    import App from './App.vue'
    import router from './router'
    import store from './store'

    // 引入element
    import { ElButton, ElButtonGroup } from 'element-plus'

    const components = [ElButton, ElButtonGroup]

    const app = createApp(App)
    const ElementOption = { size: 'small', zIndex: 500 }

    components.forEach(component => {
    // 注册
    app.component(component.name, component)
    })
    // 设置全局默认样式
    app.config.globalProperties.$ELEMENT = ElementOption

    app.use(store)
    app.use(router)
    app.mount('#app')

    重启,给页面添加一个 element按钮组件,成功。

    三、 vite 搭建 vue3.0;

    npm init @vitejs/app

      起名;

     选择vue;

     选择js;回车,创建成功。

     npm i;
    
    npm run dev

    按需引入 安装element:

    npm install element-plus --save
    npm install vite-plugin-style-import -D
    npm install node-sass -D
    npm install sass-loader -D
    npm install sass -D

    更改main.js

    import { createApp } from 'vue'
    import App from './App.vue'
    
    // 引入element
    import { ElButton, ElButtonGroup } from 'element-plus'
    
    const components = [ElButton, ElButtonGroup]
    
    const app = createApp(App)
    const ElementOption = { size: 'small', zIndex: 500 }
    
    components.forEach(component => {
        // 注册
        app.component(component.name, component)
    })
    // 设置全局默认样式
    app.config.globalProperties.$ELEMENT = ElementOption
    
    app.mount('#app')

    然后,将 vite.config.js 修改为:

    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
    import styleImport from 'vite-plugin-style-import'
    
    export default defineConfig({
        plugins: [
            vue(),
            styleImport({
                libs: [{
                    libraryName: 'element-plus',
                    esModule: true,
                    ensureStyleFile: true,
                    resolveStyle: (name) => {
                        name = name.slice(3)
                        return `element-plus/packages/theme-chalk/src/${name}.scss`;
                    },
                    resolveComponent: (name) => {
                        return `element-plus/lib/${name}`;
                    },
                }]
            })
        ]
    })

    重启,即可安装成功!

    四、下一遍详细介绍组件的测试安装使用。




    转载标明来路-博客园, 联系方式1763907618@qq.com
  • 相关阅读:
    jQuery_03之事件、动画、类数组操作
    jQuery_02之元素操作及事件绑定
    jQuery_01之选择器
    DOM_06之定时器、事件、cookie
    DOM_05之DOM、BOM常用对象
    DOM_04之常用对象及BOM
    DOM_03之元素及常用对象
    DOM_02之查找及元素操作
    了解bootstrap导航条
    学习Angularjs-day1-总结
  • 原文地址:https://www.cnblogs.com/wangyongping/p/14684953.html
Copyright © 2011-2022 走看看