# vite **Repository Path**: amingxiansen/vite ## Basic Information - **Project Name**: vite - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-10 - **Last Updated**: 2021-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

项目说明

该项目是我个人在公司搭建 `Vue3` 的 `Vite` 项目时提取出来的公用模板,在为公司搭建项目时发现了许多项目都存在相同的配置,比如:eslint、stylelint、commitlint、ts、tailwind、husky、postcss、commitizen、tsx 等一大堆十分繁琐的配置… 每次新建一个项目都要配这么一大堆玩意真是令人头秃,vite 创建出来的 vue 项目目前只是一个非常简陋的模板,它不像 vue-cli 那样每次创建项目时可以自己选择你想要的配置然后再为我们生成一个比较完整的项目。但其实每次我选的都是那几项,虽说 vue-cli 以后可能会用 vite 来进行重构,让我们在搭建 vite 项目时也能自己选装配。但目前看来还是遥遥无期,因为前段日子我看 vue-cli 正在测试的新版本是用 webpack5 来作为底层的,我这个项目倒也不是想填补 vue-cli 到 vite 这段期间的空白,只是为了自己再新建个什么项目的时候不用再配那么一大堆麻烦的东西而已。但我觉得我配的这些东西也许其他人也用得到,所以特意写一下用法: > npx degit GetKnowledgeByGitHub/vite 自己的项目名 比方说我们想在桌面创建一个叫 my-fxxking-app 的项目 那么我们就打开命令行并来到 desktop 这个文件夹,输入:`npx degit GetKnowledgeByGitHub/vite my-fxxking-app`即可。接下来再来到`my-fxxking-app`这个文件夹内,`npm install`安装依赖就行。 虽然`GetKnowledgeByGitHub`这一串字母看起来很多,但其实并不难记,相信做前端的都能记得住`getElementById`吧?其实就是把`Element`换成了`Knowledge`、把`Id`换成了`GitHub`而已,本意也是希望可以通过`GitHub`获取到更多的知识。 其实有和我相同想法(*搭建一个比较完整的 vite 项目模板*)的人不在少数,我也并不是第一批使用 vite 的人,所以已经有很多可以用的模板了,他们都在 [Awesome Vite](https://github.com/vitejs/awesome-vite#templates) 里,如果觉得我的模板不能满足你的需求或是信不过我的话,也可以直接进入到 [Awesome Vite](https://github.com/vitejs/awesome-vite#templates) 里自行寻找。 > 由于本项目是要在我们公司内部使用的,所以当我们发现 bug 或者哪些不太好用的地方时也会及时的进行更新维护。 本项目可以使用 `Vue3` 的 `jsx/tsx` 写法(*本人比较喜欢 tsx 语法*),但并不影响大家写`.vue`文件,都已经配置好了,甚至可以混用。 > ⚠️ 本项目默认没添加任何的 css 预处理器,如有需要直接 `npm i sass` 或 `npm i less` 即可。 # 强烈安利 相信很多朋友已经听说过`tailwindcss`了,没听过也不要紧,它的字面意思是`顺风CSS`。光听名字可能猜不到这是干嘛的,其实就是`原子化CSS`。它的口碑两极分化很严重,喜欢它的特别喜欢、讨厌它的又特别讨厌: ```html ``` 用了 `tailwindcss` 后的写法: ```html ``` 其实刚开始看到这种写法时我是拒绝的,这简直太蠢了!我跟好多人的想法一样:这不就是把本该写在` ``` 它不过就是相当于为我们定义了一大堆常用的全局`css`而已,想用就用: ```html ``` 不想用就拉倒,对我们的项目没有什么侵入性。而当这种情况时也是有对应的解决方案的: ```html ``` 解决方案: ```html ``` 虽然这样看上去并不是个好主意,但也是可选的嘛!而且这样可以封装常用样式制成 `tailwind` 的插件,比如我比较喜欢的一个:[daisy-ui](https://daisyui.com/)。 而且`tailwind`的`treeshaking`我已经配好了,如果你不用的话最终只会生成一小部分必要的全局CSS,如:去掉浏览器给各种标签加的外边距、去掉`li`标签默认的小圆点等… 这本来也是我们所需要的。而当你用了`tailwind`的话,最终只会把你用到的那部分打包进去,当然肯定会有人担心`心智负担`的问题,如果屏幕前的你用的是`vscode`的话,直接在插件市场里搜`tailwind`,排在第一的`Tailwind CSS IntelliSense`就是,直接安装即可,会有智能提示的。 `tailwindcss`中文官网:[www.tailwindcss.cn](https://www.tailwindcss.cn/docs/box-sizing) 同时还推荐安装`vscode`的`eslint`及`stylelint`插件,考虑到本项目使用的 `airbnb` 规范(*一种较为严格的 eslint 规范*)可能会让一些人不太适应,比如:必须写分号、箭头函数哪怕只有一个参数也要用小括号括起来等… 所以在本项目的根目录下的`.vscode`文件夹的`setting.json`里配置了当文件保存时自动修复,当我们习惯了不写分号的写法时,不写也没关系,只要一保存文件自动就给加上分号,CSS 文件也是一样。如果你不喜欢这样可以直接删掉`.vscode`这个文件夹。