奇淼(piexlmax
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 194 additions and 125 deletions
-
11web/index.html
-
97web/package.json
-
45web/src/core/config.js
-
8web/src/view/login/index.vue
-
141web/vite.config.js
-
13web/yarn.lock
@ -1,15 +1,18 @@ |
|||||
|
|
||||
<!DOCTYPE html> |
<!DOCTYPE html> |
||||
<html lang="en"> |
<html lang="en"> |
||||
|
|
||||
<head> |
<head> |
||||
<meta charset="utf-8"> |
<meta charset="utf-8"> |
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0"> |
<meta name="viewport" content="width=device-width,initial-scale=1.0"> |
||||
|
<meta content="Gin,Vue,Admin.Gin-Vue-Admin,GVA,gin-vue-admin,后台管理框架,vue后台管理框架,gin-vue-admin文档,gin-vue-admin首页,gin-vue-admin" name="keywords" /> |
||||
<link rel="icon" href="favicon.ico"> |
<link rel="icon" href="favicon.ico"> |
||||
<title></title> |
<title></title> |
||||
</head> |
|
||||
|
</head> |
||||
|
|
||||
<body> |
<body> |
||||
<div id="app"></div> |
|
||||
<script type="module" src="./src/main.js"></script> |
|
||||
|
<div id="app"></div> |
||||
|
<script type="module" src="./src/main.js"></script> |
||||
</body> |
</body> |
||||
|
|
||||
</html> |
</html> |
@ -1,50 +1,51 @@ |
|||||
{ |
{ |
||||
"name": "gin-vue-admin", |
|
||||
"version": "2.3.5", |
|
||||
"private": true, |
|
||||
"scripts": { |
|
||||
"serve": "node openDocument.js && vite --host --mode development", |
|
||||
"build": "vite build --mode production", |
|
||||
"preview": "vite preview" |
|
||||
}, |
|
||||
"dependencies": { |
|
||||
"@element-plus/icons": "0.0.11", |
|
||||
"axios": "^0.19.2", |
|
||||
"core-js": "^3.6.5", |
|
||||
"echarts": "4.9.0", |
|
||||
"element-plus": "^1.1.0-beta.24", |
|
||||
"highlight.js": "^10.6.0", |
|
||||
"marked": "^2.0.0", |
|
||||
"mitt": "^3.0.0", |
|
||||
"path": "^0.12.7", |
|
||||
"qs": "^6.8.0", |
|
||||
"quill": "^1.3.7", |
|
||||
"screenfull": "^5.0.2", |
|
||||
"script-ext-html-webpack-plugin": "^2.1.4", |
|
||||
"spark-md5": "^3.0.1", |
|
||||
"vue": "^3.2.0", |
|
||||
"vue-particle-line": "^0.1.4", |
|
||||
"vue-router": "^4.0.0-0", |
|
||||
"vuex": "^4.0.0-0", |
|
||||
"vuex-persist": "^2.1.0" |
|
||||
}, |
|
||||
"devDependencies": { |
|
||||
"@vitejs/plugin-legacy": "^1.4.4", |
|
||||
"@vitejs/plugin-vue": "latest", |
|
||||
"@vue/cli-plugin-babel": "~4.5.0", |
|
||||
"@vue/cli-plugin-eslint": "~4.5.0", |
|
||||
"@vue/cli-plugin-router": "~4.5.0", |
|
||||
"@vue/cli-plugin-vuex": "~4.5.0", |
|
||||
"@vue/cli-service": "~4.5.0", |
|
||||
"@vue/compiler-sfc": "^3.1.5", |
|
||||
"babel-eslint": "^10.1.0", |
|
||||
"babel-plugin-import": "^1.13.3", |
|
||||
"dotenv": "^10.0.0", |
|
||||
"eslint": "^6.7.2", |
|
||||
"eslint-plugin-vue": "^7.0.0", |
|
||||
"sass": "^1.26.5", |
|
||||
"sass-loader": "^8.0.2", |
|
||||
"vite": "2", |
|
||||
"vite-plugin-importer": "^0.2.5" |
|
||||
} |
|
||||
|
"name": "gin-vue-admin", |
||||
|
"version": "2.3.5", |
||||
|
"private": true, |
||||
|
"scripts": { |
||||
|
"serve": "node openDocument.js && vite --host --mode development", |
||||
|
"build": "vite build --mode production", |
||||
|
"preview": "vite preview" |
||||
|
}, |
||||
|
"dependencies": { |
||||
|
"axios": "^0.19.2", |
||||
|
"core-js": "^3.6.5", |
||||
|
"echarts": "4.9.0", |
||||
|
"element-plus": "^1.1.0-beta.8", |
||||
|
"highlight.js": "^10.6.0", |
||||
|
"marked": "^2.0.0", |
||||
|
"mitt": "^3.0.0", |
||||
|
"path": "^0.12.7", |
||||
|
"qs": "^6.8.0", |
||||
|
"quill": "^1.3.7", |
||||
|
"screenfull": "^5.0.2", |
||||
|
"script-ext-html-webpack-plugin": "^2.1.4", |
||||
|
"spark-md5": "^3.0.1", |
||||
|
"vue": "^3.2.0", |
||||
|
"vue-particle-line": "^0.1.4", |
||||
|
"vue-router": "^4.0.0-0", |
||||
|
"vuex": "^4.0.0-0", |
||||
|
"vuex-persist": "^2.1.0" |
||||
|
}, |
||||
|
"devDependencies": { |
||||
|
"@vitejs/plugin-legacy": "^1.4.4", |
||||
|
"@vitejs/plugin-vue": "latest", |
||||
|
"@vue/cli-plugin-babel": "~4.5.0", |
||||
|
"@vue/cli-plugin-eslint": "~4.5.0", |
||||
|
"@vue/cli-plugin-router": "~4.5.0", |
||||
|
"@vue/cli-plugin-vuex": "~4.5.0", |
||||
|
"@vue/cli-service": "~4.5.0", |
||||
|
"@vue/compiler-sfc": "^3.1.5", |
||||
|
"babel-eslint": "^10.1.0", |
||||
|
"babel-plugin-import": "^1.13.3", |
||||
|
"chalk": "^4.1.2", |
||||
|
"dotenv": "^10.0.0", |
||||
|
"eslint": "^6.7.2", |
||||
|
"eslint-plugin-vue": "^7.0.0", |
||||
|
"sass": "^1.26.5", |
||||
|
"sass-loader": "^8.0.2", |
||||
|
"vite": "2", |
||||
|
"vite-plugin-banner": "^0.1.3", |
||||
|
"vite-plugin-importer": "^0.2.5" |
||||
|
} |
||||
} |
} |
@ -1,83 +1,92 @@ |
|||||
/* eslint-disable */ |
|
||||
import legacyPlugin from '@vitejs/plugin-legacy'; |
import legacyPlugin from '@vitejs/plugin-legacy'; |
||||
// import usePluginImport from 'vite-plugin-importer';
|
// import usePluginImport from 'vite-plugin-importer';
|
||||
|
import { viteLogo } from './src/core/config' |
||||
|
import Banner from 'vite-plugin-banner' |
||||
import * as path from 'path'; |
import * as path from 'path'; |
||||
import * as dotenv from 'dotenv'; |
import * as dotenv from 'dotenv'; |
||||
import * as fs from 'fs'; |
import * as fs from 'fs'; |
||||
import vuePlugin from '@vitejs/plugin-vue'; |
import vuePlugin from '@vitejs/plugin-vue'; |
||||
// @see https://cn.vitejs.dev/config/
|
// @see https://cn.vitejs.dev/config/
|
||||
export default ({ |
export default ({ |
||||
command, |
|
||||
mode |
|
||||
|
command, |
||||
|
mode |
||||
}) => { |
}) => { |
||||
let NODE_ENV = process.env.NODE_ENV || 'development' |
|
||||
let envFiles=[ |
|
||||
`.env.${NODE_ENV}` |
|
||||
] |
|
||||
for (const file of envFiles) { |
|
||||
const envConfig = dotenv.parse(fs.readFileSync(file)) |
|
||||
for (const k in envConfig) { |
|
||||
process.env[k] = envConfig[k] |
|
||||
} |
|
||||
} |
|
||||
|
let NODE_ENV = process.env.NODE_ENV || 'development' |
||||
|
let envFiles = [ |
||||
|
`.env.${NODE_ENV}` |
||||
|
] |
||||
|
for (const file of envFiles) { |
||||
|
const envConfig = dotenv.parse(fs.readFileSync(file)) |
||||
|
for (const k in envConfig) { |
||||
|
process.env[k] = envConfig[k] |
||||
|
} |
||||
|
} |
||||
|
|
||||
let rollupOptions = {}; |
|
||||
|
viteLogo(process.env) |
||||
|
|
||||
|
let timestamp = Date.parse(new Date()) |
||||
|
|
||||
let optimizeDeps = {}; |
|
||||
|
let rollupOptions = { |
||||
|
output: { |
||||
|
entryFileNames: `gva/gin-vue-admin-[name].${timestamp}.js`, |
||||
|
chunkFileNames: `js/gin-vue-admin-[name].${timestamp}.js`, |
||||
|
assetFileNames: `assets/gin-vue-admin-[name].${timestamp}.[ext]` |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
let optimizeDeps = {}; |
||||
|
|
||||
let alias = { |
|
||||
'@': path.resolve(__dirname, './src'), |
|
||||
'vue$': 'vue/dist/vue.runtime.esm-bundler.js', |
|
||||
} |
|
||||
|
let alias = { |
||||
|
'@': path.resolve(__dirname, './src'), |
||||
|
'vue$': 'vue/dist/vue.runtime.esm-bundler.js', |
||||
|
} |
||||
|
|
||||
let esbuild = {} |
|
||||
|
let esbuild = {} |
||||
|
|
||||
return { |
|
||||
base: './', // index.html文件所在位置
|
|
||||
root: './', // js导入的资源路径,src
|
|
||||
resolve: { |
|
||||
alias, |
|
||||
}, |
|
||||
define: { |
|
||||
'process.env': {} |
|
||||
}, |
|
||||
server: { |
|
||||
open:true, |
|
||||
port: process.env.VITE_CLI_PORT, |
|
||||
proxy:{ |
|
||||
// 把key的路径代理到target位置
|
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
|
||||
[process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
|
|
||||
target: `${process.env.VITE_BASE_PATH}:${process.env.VITE_SERVER_PORT}/`, // 代理到 目标路径
|
|
||||
changeOrigin: true, |
|
||||
rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''), |
|
||||
} |
|
||||
}, |
|
||||
}, |
|
||||
build: { |
|
||||
target: 'es2015', |
|
||||
minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
|
|
||||
manifest: false, // 是否产出maifest.json
|
|
||||
sourcemap: false, // 是否产出soucemap.json
|
|
||||
outDir: 'dist', // 产出目录
|
|
||||
rollupOptions, |
|
||||
}, |
|
||||
esbuild, |
|
||||
optimizeDeps, |
|
||||
plugins: [ |
|
||||
legacyPlugin({ |
|
||||
targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'], |
|
||||
}), vuePlugin(), |
|
||||
], |
|
||||
css: { |
|
||||
preprocessorOptions: { |
|
||||
less: { |
|
||||
// 支持内联 JavaScript
|
|
||||
javascriptEnabled: true, |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
} |
|
||||
|
return { |
||||
|
base: './', // index.html文件所在位置
|
||||
|
root: './', // js导入的资源路径,src
|
||||
|
resolve: { |
||||
|
alias, |
||||
|
}, |
||||
|
define: { |
||||
|
'process.env': {} |
||||
|
}, |
||||
|
server: { |
||||
|
open: true, |
||||
|
port: process.env.VITE_CLI_PORT, |
||||
|
proxy: { |
||||
|
// 把key的路径代理到target位置
|
||||
|
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||
|
[process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api'
|
||||
|
target: `${process.env.VITE_BASE_PATH}:${process.env.VITE_SERVER_PORT}/`, // 代理到 目标路径
|
||||
|
changeOrigin: true, |
||||
|
rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''), |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
build: { |
||||
|
target: 'es2015', |
||||
|
minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser
|
||||
|
manifest: false, // 是否产出maifest.json
|
||||
|
sourcemap: false, // 是否产出soucemap.json
|
||||
|
outDir: 'dist', // 产出目录
|
||||
|
rollupOptions, |
||||
|
}, |
||||
|
esbuild, |
||||
|
optimizeDeps, |
||||
|
plugins: [ |
||||
|
legacyPlugin({ |
||||
|
targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'], |
||||
|
}), vuePlugin(), [Banner(`\n Build based on gin-vue-admin \n Time : ${timestamp}`)] |
||||
|
], |
||||
|
css: { |
||||
|
preprocessorOptions: { |
||||
|
less: { |
||||
|
// 支持内联 JavaScript
|
||||
|
javascriptEnabled: true, |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
} |
||||
} |
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue