Vue开发之Vite使用
1.moment中文
在Vite的项目中使用momentjs,需要使用不同的引入方法
1 | import "moment/dist/locale/zh-cn"; |
1.使用moment本地化无效
2.ESlint引入
1.安装
这里有几个依赖,主要就是 vite-plugin-eslint 和 esline,其他的按需要再去安装也可以。
1 | pnpm add vite-plugin-eslint eslint eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-vue @vue/eslint-config-typescript -D |
2.配置vite.config.js
1 | import { defineConfig } from 'vite'; |
3.新增 .eslintrc 文件
这里我直接采用了别人的文件,可以在网上搜。除了这个 .eslintrc 文件之外,还有地方编写的是 .eslintrc.js 文件。
1 | module.exports = { |
1.Vite with ESLint
2.ESLint 的使用和.eslintrc.js配置
3.[Day 04] Nuxt 3 + TypeScript + ESLint + Prettier 環境建置 plugin:vue/vue3-recommended: 對應 eslint-plugin-vue 套件,由 Vue.js 官方提供的 ESLint 插件,包含了能配合 Vue SFC 語法及特性的規則。Prettier 是程式碼格式化的工具,也可以與 ESLint 進行搭配,ESLint 與 Prettier 就能各司其職將 JaveScript 與 Vue 等檔案依照配置進行檢查與排版。為了讓 Prettier 與 ESLint 有更好的搭配,在 rules 的參數中記得添加 ‘prettier/prettier’: ‘error’ 讓 ESLint 可以提示 Prettier 的排版異常提示供我們
问题
(1) Failed to load config “@vue/typescript/recommended” to extend from
这个是因为我没有安装 @vue/eslint-config-typescript 导致的,在我 .eslintrc.js 文件中,却配置了 extends 内容。
1.Vue3 + TypeScript处理ESLint和Prettier冲突时,Failed to load config “@vue/prettier/@typescript-eslint“
3.Prettier
1.安装
1 | pnpm add -D prettier eslint-config-prettier eslint-plugin-prettier |
2.配置 Prettier 設定檔案
1 | module.exports = { |
3.配置 ESLint
在 extends 添加字串 prettier 表示使用 eslint-config-prettier 擴充配置,主要用來防止 Prettier 排版與 ESLint 發生衝突,讓其可以用來禁用 ESLint 的格式化;接著在 plugins 中添加 prettier 字串表示使用 eslint-plugin-prettier 套件擴充,讓 ESLint 可以提示我們格式有錯誤的地方。為了讓 Prettier 與 ESLint 有更好的搭配,在 rules 的參數中記得添加 ‘prettier/prettier’: ‘error’ 讓 ESLint 可以提示 Prettier 的排版異常提示供我們做修正。
1 | module.exports = { |
4.安裝 VS Code 的 Prettier 插件
问题
(1) Expected “from” but found “{“ ,import type {Type, EvaluationKind} from ‘./types.js’;
意思就是在本来应该使用 import from 的地方,用了import type。我在安装了 pnpm add @mapbox/mapbox-gl-style-spe,引入了其中的内容的时候,就出现了这个问题。真是一波未平,一波又起。
我关闭了类型检查,还是编译不通过。最后这个问题也没有解决,就放弃了。
1.VS Code “import type“ 声明只能在 TypeScript 文件中使用。 这里是配置了vscode 的 setting.json。
2.你不知道的 「 import type 」 TypeScript 3.8 带来了一个新特性:仅仅导入 / 导出声明。
3.consistent-type-imports.md
4.No errors for TypeScript import types “allowTypeImports”: true
5.[Bug]: [v7.0.0-beta.15] Typescript import type can’t be parsed (by default)
6.babel 无法识别导出的类型定义
(2) Cannot find module ‘@babel/core’
添加了 .babelrc.js,安装了vite-plugin-babel ,出现了:Cannot find module ‘@babel/core’
1 | module.exports = { |
【解决方法】
安装一下 @babel/core 好了。
1 | pnpm add @babel/preset-typescript @babel/core vite-plugin-babel -D |
vite.config.js中配置
1 | import babel from "vite-plugin-babel"; |
(3) This error came from the “onLoad” callback registered here
最后没有解决。
(4) 它使用了不允许的 MIME 类型(“text/html”)
这个错误是在浏览器中出现的,我是用vite创建了一个新的项目,把原先的vue2的配置拷过来了,结果就是这样的错误。在命令行就是: Failed to load url,Does the file exist?
1 | resolve: { |
【解决方案】
这个问题其实不是在别名的配置,而是路径的问题。
1 | // vue2 中引入组件 |
1.vite failed to load config from vite.config.js,
2.Failed to load url resolved bug
3.“TypeError: Failed to fetch dynamically imported module” on Vue/Vite vanilla setup
4.路由懒加载
在使用的使用,都是使用:() => import(“/src/views/daily/index.vue”),可能会报错,后来改成了:import.meta.glob(‘../views//.vue’),使用 import.meta.glob 进行懒加载。