美文网首页
vue3+vite项目初始化

vue3+vite项目初始化

作者: 习惯水文的前端苏 | 来源:发表于2022-11-19 11:25 被阅读0次

\bullet 创建

    pnpm create vite安装提示选择vue+ts模版

\bullet ElementUI

      \ast 安装

            pnpm install element-plus

        \ast 按需导入

            \cdot 安装依赖

                pnpm install -D unplugin-vue-components unplugin-auto-import 

            \cdot vite中引入

    \ast 反馈组件样式单独引入

        @import "element-plus/theme-chalk/el-loading.css";

        @import "element-plus/theme-chalk/el-message.css";

        @import "element-plus/theme-chalk/el-notification.css";

        @import "element-plus/theme-chalk/el-message-box.css";

\bullet 别名

    \ast 安装(path和__dirname类型错误)

        pnpm install @types/node 

    \ast tsconfig添加paths项(智能提示)

    \ast 配置

\bullet vue-router

    \ast 安装

        pnpm install vue-router@4

    \ast 定义

    \ast 注册

\bullet pinia

    作为vue3配套的状态管理工具,pinia应该是首选的,不过我这是新项目,且比较明确用不到,就不安装了

    可参考这篇文章

\bullet 环境变量

    \ast 设置

    \ast 使用

\bullet axios

    \ast 安装

        npm install axios

    \ast 配置

    \ast 封装

    \ast 使用

\bullet css

    \ast less

        vite内置了less支持,只需要install它:pnpm i less -D

    \ast PostCSS

        PostCSS是一款使用JavaScript插件对CSS实现转换的工具,可以使用它进行css操作,比如为兼容性差的属性添加浏览器前缀等“脏活”、“累活”,vite中也内置进行了支持,只需要安装对应的处理插件即可

            \alpha postcss-import:智能寻址

            \beta postcss-preset-env:浏览器兼容前缀

\bullet 代码规范

    \ast eslint

        \cdot 安装

            pnpm install eslint

        \cdot 创建配置文件

            npx eslint --init

        \cdot 修改配置文件(更多规则

        \cdot 配置vscode

            安装eslint插件,找到其扩展设置,选择在setting.json中编辑

            配置如下

    \ast vite-plugin

        \cdot 安装

            pnpm i vite-plugin-eslint -D

        \cdot 使用

        \cdot 效果

\bullet 跨级通信

        vue3已经移除了eventbus,需要借助第三方库,我这里找了一个,虽然其核心能力是用来操作localStorage的,但是其提供了:加解密、批量操作、过期时间、命名空间、数据变化侦听等特性,其中的watch接口和postMessage接口即可用于实现跨级通信

        \cdot 为什么要用

            说到底是懒,如果不跨级

                则需要在子组件进行注册

                然后做出抛事件的动作

                然后在父组件进行监听

                我的页面比较复杂,需要跨好几个组件做通信,因此,上边的步骤需要在每一个组件中定义并相互传递,如下

            使用后,只需要在d组件抛出消息

        然后在a组件监听即可

        其实,个人觉得,最好用的不是这个功能,而是其实现了类似“离线消息”的功能,如果消息发送的组件不在页面中,则该库会将消息滞留,并在对应组件挂载时触发

\bullet 生产构建

    生产构建每个人的可能都不一样,但一般来说,都要根据发布后的位置去改动base选项,但是由于vite中的vite.config.ts中不支持process.env.NODE_ENV这样的方式,故一般需要定义环境文件

    然后在vite.config.ts中使用loadEnv进行加载

\bullet cjs文件的加载

    按照网上的说法,基本都是利用commonjs和transform-reauire插件来实现,但是我试了,是无效的,最终尝试后,发下使用动态import是可以的   


其他相关文章

    \ast vue2项目初始化

    \ast umijs项目初始化

相关文章

网友评论

      本文标题:vue3+vite项目初始化

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