@@ -1,2 +1,7 @@ | |||||
# itemmanager-huzhou | |||||
# Vue 3 + Vite | |||||
This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more. | |||||
## Recommended IDE Setup | |||||
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) |
@@ -0,0 +1,3 @@ | |||||
module.exports = { | |||||
extends: ['@commitlint/config-conventional'] | |||||
} |
@@ -0,0 +1,15 @@ | |||||
![结果]([TPL_STATUS_PIC]) | |||||
仓库:[TPL_REPO_SHORT_NAME] | |||||
分支:[TPL_COMMIT_BRANCH] | |||||
commit: [查看]([TPL_COMMIT_LINK]) | |||||
结果:[TPL_BUILD_STATUS] | |||||
耗时:[TPL_BUILD_CONSUMING]s | |||||
作者:[[TPL_AUTHOR_NAME]([TPL_AUTHOR_EMAIL])](mailto:[TPL_AUTHOR_EMAIL]) | |||||
详情:[查看]([TPL_BUILD_LINK]) |
@@ -0,0 +1,60 @@ | |||||
{ | |||||
"name": "ls-project", | |||||
"private": true, | |||||
"version": "2.0.0", | |||||
"scripts": { | |||||
"dev": "vite", | |||||
"build": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix & vite build", | |||||
"build_test": "vite build --mode test", | |||||
"build_pro": "vite build --mode production", | |||||
"preview": "vite preview", | |||||
"lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix", | |||||
"prepare": "husky install" | |||||
}, | |||||
"dependencies": { | |||||
"@commitlint/cli": "^17.1.2", | |||||
"@commitlint/config-conventional": "^17.1.0", | |||||
"@vitejs/plugin-vue-jsx": "^2.0.1", | |||||
"@wangeditor/editor": "^5.1.23", | |||||
"@wangeditor/editor-for-vue": "^5.1.12", | |||||
"add": "^2.0.6", | |||||
"axios": "^1.1.2", | |||||
"default-passive-events": "^2.0.0", | |||||
"docx-preview": "^0.1.15", | |||||
"echarts": "^5.4.2", | |||||
"element-plus": "^2.3.1", | |||||
"file-saver": "^2.0.5", | |||||
"gdt-jsapi": "^1.9.39", | |||||
"js-cookie": "^3.0.1", | |||||
"jsencrypt": "^3.3.2", | |||||
"less": "^4.1.3", | |||||
"less-loader": "^11.0.0", | |||||
"moment": "^2.29.4", | |||||
"nprogress": "^0.2.0", | |||||
"pdfjs-dist": "^3.0.279", | |||||
"pinia": "^2.0.22", | |||||
"pinia-plugin-persist": "^1.0.0", | |||||
"qrcode.vue": "^3.3.3", | |||||
"vue": "^3.2.37", | |||||
"vue-router": "4", | |||||
"vue3-seamless-scroll": "^2.0.1", | |||||
"xlsx": "^0.16.0", | |||||
"yarn": "^1.22.19" | |||||
}, | |||||
"devDependencies": { | |||||
"@babel/core": "^7.19.1", | |||||
"@babel/eslint-parser": "^7.19.1", | |||||
"@vitejs/plugin-vue": "^3.1.0", | |||||
"autoprefixer": "^10.4.12", | |||||
"eslint": "^8.23.1", | |||||
"eslint-import-resolver-alias": "^1.1.2", | |||||
"eslint-plugin-vue": "^9.5.1", | |||||
"husky": "^8.0.2", | |||||
"postcss": "^8.4.16", | |||||
"tailwindcss": "^3.1.8", | |||||
"vite": "^3.1.0", | |||||
"vite-plugin-eslint": "^1.8.1", | |||||
"vite-plugin-svg-icons": "^2.0.1", | |||||
"vite-plugin-vue-setup-extend": "^0.4.0" | |||||
} | |||||
} |
@@ -0,0 +1,6 @@ | |||||
module.exports = { | |||||
plugins: { | |||||
tailwindcss: {}, | |||||
autoprefixer: {} | |||||
} | |||||
} |
@@ -0,0 +1,35 @@ | |||||
/** @type {import('tailwindcss').Config} */ | |||||
const spacing = {} | |||||
for (let index = 0; index < 96; index++) { | |||||
spacing[index + 1] = `${index + 1}px` | |||||
} | |||||
const colorObj = { | |||||
menub: '#FFBA00', | |||||
primary: '#0057FF', | |||||
danger: '#FF3B30', | |||||
info: '#a6a6a6', | |||||
success: '#4ECB74', | |||||
warning: '#FFA43D' | |||||
} | |||||
module.exports = { | |||||
content: ['./index.html', './src/**/*.{vue,js,jsx}'], | |||||
theme: { | |||||
spacing: spacing, | |||||
fontSize: spacing, | |||||
borderColor: theme => ({ | |||||
...theme('colors'), | |||||
...colorObj | |||||
}), | |||||
backgroundColor: theme => ({ | |||||
...theme('colors'), | |||||
...colorObj | |||||
}), | |||||
textColor: theme => ({ | |||||
...theme('colors'), | |||||
...colorObj | |||||
}), | |||||
extend: {} | |||||
}, | |||||
plugins: [] | |||||
} |
@@ -0,0 +1,55 @@ | |||||
import { defineConfig } from 'vite' | |||||
import vue from '@vitejs/plugin-vue' | |||||
import eslintPlugin from 'vite-plugin-eslint' | |||||
import VueSetupExtend from 'vite-plugin-vue-setup-extend' | |||||
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' | |||||
import vueJsx from '@vitejs/plugin-vue-jsx' | |||||
import path from 'path' | |||||
// https://vitejs.dev/config/ | |||||
export default defineConfig(() => { | |||||
return { | |||||
plugins: [ | |||||
vue(), | |||||
VueSetupExtend(), | |||||
vueJsx({ | |||||
// options are passed on to @vue/babel-plugin-jsx | |||||
}), | |||||
eslintPlugin({ | |||||
include: ['src/**/*.js', 'src/**/*.vue', 'src/*.js', 'src/*.vue'] | |||||
}), | |||||
createSvgIconsPlugin({ | |||||
// 配置路径在你的src里的svg存放文件 | |||||
iconDirs: [path.resolve(process.cwd(), './src/assets/icons/svgs')], | |||||
// 指定symbolId格式 | |||||
symbolId: 'icon-[dir]-[name]' | |||||
}) | |||||
], | |||||
resolve: { | |||||
// 配置路径别名 | |||||
alias: { | |||||
'@': path.resolve(__dirname, './src') | |||||
} | |||||
}, | |||||
build: { | |||||
target: ['es2015', 'chrome58'] | |||||
// rollupOptions: { | |||||
// manualChunks: (id) => { | |||||
// if (id.includes('node_modules')) { | |||||
// return 'vendor' | |||||
// } | |||||
// } | |||||
// } | |||||
}, | |||||
server: { | |||||
open: true, | |||||
host: '0.0.0.0', | |||||
proxy: { | |||||
'/pm': { | |||||
// 后台地址 | |||||
target: 'http://120.26.44.207:38888', | |||||
changeOrigin: true | |||||
} | |||||
} | |||||
} | |||||
} | |||||
}) |