chore: 基础 prettier

This commit is contained in:
pany 2022-04-21 14:14:40 +08:00
parent 971fc3d257
commit d75ae5fc3e
6 changed files with 63 additions and 26 deletions

15
.prettierignore Normal file
View File

@ -0,0 +1,15 @@
# prettier 会忽略的文件
/dist/*
.local
.output.js
/node_modules/**
**/*.svg
**/*.sh
/public/*
.DS_Store
*.local
*.log

View File

@ -17,6 +17,7 @@
"devDependencies": { "devDependencies": {
"@types/node": "^17.0.25", "@types/node": "^17.0.25",
"@vitejs/plugin-vue": "^2.3.1", "@vitejs/plugin-vue": "^2.3.1",
"prettier": "^2.6.2",
"typescript": "^4.6.3", "typescript": "^4.6.3",
"unplugin-auto-import": "^0.7.1", "unplugin-auto-import": "^0.7.1",
"unplugin-vue-components": "^0.19.3", "unplugin-vue-components": "^0.19.3",

21
prettier.config.js Normal file
View File

@ -0,0 +1,21 @@
/** 配置项文档https://prettier.io/docs/en/configuration.html */
module.exports = {
/** 每一行的宽度 */
printWidth: 120,
/** tab 健的空格数 */
tabWidth: 2,
/** 在对象中的括号之间用空格来间隔 */
bracketSpacing: true,
/** 箭头函数的参数无论有几个,都要括号包裹 */
arrowParens: 'always',
/** 换行符的使用 */
endOfLine: 'auto',
/** 采用单引号 */
singleQuote: true,
/** 对象或者数组的最后一个元素后面是否要加逗号 */
trailingComma: 'all',
/** 不加分号 */
semi: false,
/** 不使用 tab 格式化 */
useTabs: false,
}

View File

@ -1,15 +1,16 @@
<script setup lang="ts"> <script setup lang="ts">
// This starter template is using Vue 3 <script setup> SFCs // This starter template is using Vue 3 <script setup> SFCs
// Check out https://vuejs.org/api/sfc-script-setup.html#script-setup // Check out https://vuejs.org/api/sfc-script-setup.html#script-setup
import HelloWorld from "./components/HelloWorld.vue" import HelloWorld from './components/HelloWorld.vue'
console.log("测试 console.log") console.log('测试 console.log')
console.info("测试 console.info") console.info('测试 console.info')
console.error("测试 console.error") console.error('测试 console.error')
console.info("测试 VITE_BASE_API", import.meta.env.VITE_BASE_API) console.info('测试 VITE_BASE_API', import.meta.env.VITE_BASE_API)
console.info("测试 MODE", import.meta.env.MODE) console.info('测试 MODE', import.meta.env.MODE)
console.info("测试 BASE_URL", import.meta.env.BASE_URL) console.info('测试 BASE_URL', import.meta.env.BASE_URL)
console.info("测试 DEV", import.meta.env.DEV) console.info('测试 DEV', import.meta.env.DEV)
console.info("测试 PROD", import.meta.env.PROD) console.info('测试 PROD', import.meta.env.PROD)
const aaa = { a: 5, b: 1 }
</script> </script>
<template> <template>

View File

@ -5,7 +5,6 @@ import '@vue/runtime-core'
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
export interface GlobalComponents { export interface GlobalComponents {
ElButton: typeof import('element-plus/es')['ElButton']
HelloWorld: typeof import('./../components/HelloWorld.vue')['default'] HelloWorld: typeof import('./../components/HelloWorld.vue')['default']
} }
} }

View File

@ -1,9 +1,9 @@
import { ConfigEnv, UserConfigExport } from "vite" import { ConfigEnv, UserConfigExport } from 'vite'
import { resolve } from "path" import { resolve } from 'path'
import vue from "@vitejs/plugin-vue" import vue from '@vitejs/plugin-vue'
import AutoImport from "unplugin-auto-import/vite" import AutoImport from 'unplugin-auto-import/vite'
import Components from "unplugin-vue-components/vite" import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from "unplugin-vue-components/resolvers" import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
/** 配置项文档https://vitejs.dev/config */ /** 配置项文档https://vitejs.dev/config */
export default (env: ConfigEnv): UserConfigExport => { export default (env: ConfigEnv): UserConfigExport => {
@ -11,7 +11,7 @@ export default (env: ConfigEnv): UserConfigExport => {
resolve: { resolve: {
alias: { alias: {
/** @ 符号指向 src 目录 */ /** @ 符号指向 src 目录 */
"@": resolve(__dirname, "./src"), '@': resolve(__dirname, './src'),
}, },
}, },
server: { server: {
@ -29,12 +29,12 @@ export default (env: ConfigEnv): UserConfigExport => {
strictPort: true, strictPort: true,
/** 接口代理 */ /** 接口代理 */
proxy: { proxy: {
"/mock-api": { '/mock-api': {
target: "https://vue-typescript-admin-mock-server-armour.vercel.app/mock-api", target: 'https://vue-typescript-admin-mock-server-armour.vercel.app/mock-api',
ws: true, ws: true,
/** 是否允许跨域 */ /** 是否允许跨域 */
changeOrigin: true, changeOrigin: true,
rewrite: (path) => path.replace("/mock-api", ""), rewrite: (path) => path.replace('/mock-api', ''),
}, },
}, },
}, },
@ -43,26 +43,26 @@ export default (env: ConfigEnv): UserConfigExport => {
/** 消除打包大小超过 500kb 警告 */ /** 消除打包大小超过 500kb 警告 */
chunkSizeWarningLimit: 2000, chunkSizeWarningLimit: 2000,
/** vite 2.6.x 以上需要配置 minify: terserterserOptions 才能生效 */ /** vite 2.6.x 以上需要配置 minify: terserterserOptions 才能生效 */
minify: "terser", minify: 'terser',
/** 在 build 代码时移除 console.log、debugger 和 注释 */ /** 在 build 代码时移除 console.log、debugger 和 注释 */
terserOptions: { terserOptions: {
compress: { compress: {
drop_console: false, drop_console: false,
drop_debugger: true, drop_debugger: true,
pure_funcs: ["console.log"], pure_funcs: ['console.log'],
}, },
output: { output: {
/** 删除注释 */ /** 删除注释 */
comments: false, comments: false,
}, },
}, },
assetsDir: "static/assets", assetsDir: 'static/assets',
/** 静态资源打包到 dist 下的不同目录 */ /** 静态资源打包到 dist 下的不同目录 */
rollupOptions: { rollupOptions: {
output: { output: {
chunkFileNames: "static/js/[name]-[hash].js", chunkFileNames: 'static/js/[name]-[hash].js',
entryFileNames: "static/js/[name]-[hash].js", entryFileNames: 'static/js/[name]-[hash].js',
assetFileNames: "static/[ext]/[name]-[hash].[ext]", assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
}, },
}, },
}, },