提交 fd0495f5 authored 作者: zengzhe's avatar zengzhe

feat: 初步替换完成,能够dev

上级 c2471100
import { pluginBabel } from '@rsbuild/plugin-babel'
import { pluginVue } from '@rsbuild/plugin-vue'
import { pluginVueJsx } from '@rsbuild/plugin-vue-jsx'
import { pluginLess } from '@rsbuild/plugin-less'
export const createPlugins = () => {
return [
pluginBabel({
include: /\.(?:jsx|tsx)$/
}),
pluginVue(),
pluginVueJsx(),
pluginLess()
]
}
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vue.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%- title %></title>
</head>
<body>
<div id="app">
......@@ -17,6 +16,7 @@
padding: 0;
margin: 0;
}
.loading-box {
display: flex;
flex-direction: column;
......@@ -25,12 +25,14 @@
width: 100%;
height: 100%;
}
.loading-box .loading-wrap {
display: flex;
align-items: center;
justify-content: center;
padding: 98px;
}
.dot {
position: relative;
box-sizing: border-box;
......@@ -41,6 +43,7 @@
transform: rotate(45deg);
animation: ant-rotate 1.2s infinite linear;
}
.dot i {
position: absolute;
display: block;
......@@ -53,20 +56,24 @@
transform-origin: 50% 50%;
animation: ant-spin-move 1s infinite linear alternate;
}
.dot i:nth-child(1) {
top: 0;
left: 0;
}
.dot i:nth-child(2) {
top: 0;
right: 0;
animation-delay: 0.4s;
}
.dot i:nth-child(3) {
right: 0;
bottom: 0;
animation-delay: 0.8s;
}
.dot i:nth-child(4) {
bottom: 0;
left: 0;
......@@ -100,6 +107,5 @@
if (globalState.isDark) html.style.background = '#141414'
}
</script>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
......@@ -14,12 +14,12 @@
"url": "https://code.seevin.com/project-collaboration-platform/admin-web"
},
"scripts": {
"dev": "vite",
"serve": "vite",
"build": "vue-tsc --noEmit && vite build --mode test",
"build:prod": "vue-tsc --noEmit && vite build --mode production",
"dev": "rsbuild dev --env-mode development",
"serve": "rsbuild dev --env-mode development",
"build": "rsbuild build",
"preview": "rsbuild preview",
"build:prod": "vue-tsc --noEmit && rsbuild build --mode production",
"type:check": "vue-tsc --noEmit --skipLibCheck",
"preview": "npm run build:dev && vite preview",
"lint": "eslint --ext .vue,.js,.jsx,.ts,.tsx ./ --max-warnings 0",
"lint:fix": "eslint --ext .vue,.js,jsx,.ts,.tsx ./ --max-warnings 0 --fix",
"prettier": "prettier --write \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
......@@ -52,14 +52,16 @@
"devDependencies": {
"@commitlint/cli": "^19.5.0",
"@commitlint/config-conventional": "^19.5.0",
"@rsbuild/core": "^1.1.13",
"@rsbuild/plugin-babel": "^1.0.3",
"@rsbuild/plugin-less": "^1.1.0",
"@rsbuild/plugin-vue": "^1.0.5",
"@rsbuild/plugin-vue-jsx": "^1.1.0",
"@rushstack/eslint-patch": "^1.8.0",
"@types/js-md5": "^0.7.2",
"@types/lodash-es": "^4.17.12",
"@types/nprogress": "^0.2.3",
"@types/qs": "^6.9.16",
"@vitejs/plugin-legacy": "^4.0.5",
"@vitejs/plugin-vue": "4.2.3",
"@vitejs/plugin-vue-jsx": "^3.0.1",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"autoprefixer": "^10.4.20",
......@@ -80,12 +82,6 @@
"typescript": "5.6.2",
"unplugin-auto-import": "^0.18.3",
"unplugin-vue-components": "^0.27.4",
"vite": "4.5.5",
"vite-plugin-checker": "^0.8.0",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-html": "^3.2.2",
"vite-plugin-svg-icons": "^2.0.1",
"vue-tsc": "2.0.29"
},
"engines": {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/*
* @Author: zengzhe
* @Date: 2024-12-27 11:48:34
* @LastEditors: zengzhe
* @LastEditTime: 2024-12-27 14:43:43
* @Description:
*/
import { resolve } from 'path'
import { defineConfig, loadEnv } from '@rsbuild/core'
import { createPlugins } from './build/rsbuild-plugins'
import pkg from './package.json'
const { dependencies, devDependencies, name, version } = pkg
import dayjs from 'dayjs'
import AutoImport from 'unplugin-auto-import/rspack'
import Components from 'unplugin-vue-components/rspack'
import { TDesignResolver } from 'unplugin-vue-components/resolvers'
const { publicVars } = loadEnv({ prefixes: ['VITE_'] })
const __APP_INFO__ = {
pkg: { dependencies, devDependencies, name, version },
lastBuildTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
importMeta: 'import.meta'
}
export default defineConfig({
root: process.cwd(),
server: {
base: '/',
host: '0.0.0.0',
port: 3000,
open: true,
cors: true
},
resolve: {
alias: {
'@': resolve(__dirname, './src')
}
},
html: {
title: publicVars.VITE_APP_TITLE,
template: './index.html'
},
source: {
define: {
__APP_INFO__: JSON.stringify(__APP_INFO__),
// 启用生产环境构建下激活不匹配的详细警告
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false',
...publicVars
},
entry: {
index: './src/main.ts'
}
},
output: {
distPath: {
root: 'dist'
},
minify: true
},
plugins: createPlugins(),
tools: {
rspack: {
plugins: [
AutoImport({
imports: ['vue', 'vue-router'],
resolvers: [
TDesignResolver({
library: 'vue-next'
})
],
dts: 'src/autoImport.d.ts'
}),
Components({
// allow auto load markdown components under `./src/components/`
extensions: ['vue', 'md'],
// allow auto import and register components used in markdown
include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
resolvers: [
TDesignResolver({
library: 'vue-next'
})
],
dts: 'src/components.d.ts'
})
]
}
}
})
<!--
* @Author: xiejiang
* @Date: 2023-07-13 14:14:11
* @LastEditors: xiejiang
* @LastEditTime: 2024-12-03 10:00:27
* @LastEditors: zengzhe
* @LastEditTime: 2024-12-27 14:40:25
* @Description: 拼图人机验证、右滑拼图验证
-->
<template>
......@@ -202,7 +202,7 @@ function createImage(onload: any) {
image.crossOrigin = 'Anonymous'
image.onload = onload
image.onerror = () => {
image.src = require('')
image.src = ''
}
image.src = getImageSrc()
return image
......
/*
* @Author: zengzhe
* @Date: 2024-12-27 11:15:21
* @LastEditors: zengzhe
* @LastEditTime: 2024-12-27 14:26:21
* @Description:
*/
import { createApp } from 'vue'
// 引入ElementPlus图标
import * as Icons from 'tdesign-icons-vue-next'
......@@ -11,7 +18,7 @@ import '@/assets/fonts/font.less'
// 引入自定义样式
import '@/styles/index.less'
// svg icons
import 'virtual:svg-icons-register'
// import 'virtual:svg-icons-register'
// 引入路由
import router from '@/routers'
// 引入pinia状态管理
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论