create-vite-react-cli 0.1.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +47 -83
  3. package/dist/index.mjs +2569 -0
  4. package/index.js +3 -0
  5. package/locales/en-US.json +42 -0
  6. package/locales/zh-Hans.json +42 -0
  7. package/package.json +68 -34
  8. package/templates/base/_gitignore +25 -0
  9. package/templates/base/_vscode/extensions.json +3 -0
  10. package/templates/base/_vscode/settings.json +4 -0
  11. package/templates/base/package.json +16 -0
  12. package/templates/{public → base/public}/vite.svg +1 -2
  13. package/templates/{vite.config.js → base/vite.config.js} +7 -8
  14. package/templates/{src → code/default/src}/App.css +42 -43
  15. package/templates/code/default/src/App.jsx +31 -0
  16. package/templates/code/default/src/assets/react.svg +1 -0
  17. package/templates/{src → code/default/src}/index.css +68 -69
  18. package/templates/code/typescript-/src/App.css +42 -0
  19. package/templates/code/typescript-/src/App.tsx +31 -0
  20. package/templates/code/typescript-/src/assets/react.svg +1 -0
  21. package/templates/code/typescript-/src/index.css +68 -0
  22. package/templates/config/typescript/package.json +7 -0
  23. package/templates/{index.html → entry/default/index.html.ejs} +13 -14
  24. package/templates/entry/default/src/main.jsx +10 -0
  25. package/templates/entry/default/src/main.tsx +10 -0
  26. package/templates/formatting/prettier/_prettierrc +7 -0
  27. package/templates/formatting/prettier/package.json +9 -0
  28. package/templates/linting/base/package.json +12 -0
  29. package/templates/linting/core/js/eslint.config.js +24 -0
  30. package/templates/linting/core/ts/eslint.config.js +25 -0
  31. package/templates/linting/core/ts/package.json +5 -0
  32. package/templates/linting/prettier/eslint.config.js +3 -0
  33. package/templates/tsconfig/base/tsconfig.app.json +25 -0
  34. package/templates/tsconfig/base/tsconfig.node.json +23 -0
  35. package/bin/cli.js +0 -16
  36. package/src/index.js +0 -86
  37. package/templates/README.md +0 -35
  38. package/templates/package.json +0 -22
  39. package/templates/public/react.svg +0 -2
  40. package/templates/src/App.jsx +0 -34
  41. package/templates/src/main.jsx +0 -11
@@ -0,0 +1,68 @@
1
+ :root {
2
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3
+ line-height: 1.5;
4
+ font-weight: 400;
5
+
6
+ color-scheme: light dark;
7
+ color: rgba(255, 255, 255, 0.87);
8
+ background-color: #242424;
9
+
10
+ font-synthesis: none;
11
+ text-rendering: optimizeLegibility;
12
+ -webkit-font-smoothing: antialiased;
13
+ -moz-osx-font-smoothing: grayscale;
14
+ }
15
+
16
+ a {
17
+ font-weight: 500;
18
+ color: #646cff;
19
+ text-decoration: inherit;
20
+ }
21
+ a:hover {
22
+ color: #535bf2;
23
+ }
24
+
25
+ body {
26
+ margin: 0;
27
+ display: flex;
28
+ place-items: center;
29
+ min-width: 320px;
30
+ min-height: 100vh;
31
+ }
32
+
33
+ h1 {
34
+ font-size: 3.2em;
35
+ line-height: 1.1;
36
+ }
37
+
38
+ button {
39
+ border-radius: 8px;
40
+ border: 1px solid transparent;
41
+ padding: 0.6em 1.2em;
42
+ font-size: 1em;
43
+ font-weight: 500;
44
+ font-family: inherit;
45
+ background-color: #1a1a1a;
46
+ cursor: pointer;
47
+ transition: border-color 0.25s;
48
+ }
49
+ button:hover {
50
+ border-color: #646cff;
51
+ }
52
+ button:focus,
53
+ button:focus-visible {
54
+ outline: 4px auto -webkit-focus-ring-color;
55
+ }
56
+
57
+ @media (prefers-color-scheme: light) {
58
+ :root {
59
+ color: #213547;
60
+ background-color: #ffffff;
61
+ }
62
+ a:hover {
63
+ color: #747bff;
64
+ }
65
+ button {
66
+ background-color: #f9f9f9;
67
+ }
68
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "devDependencies": {
3
+ "@types/react": "^19.0.6",
4
+ "@types/react-dom": "^19.0.4",
5
+ "typescript": "~5.7.3"
6
+ }
7
+ }
@@ -1,14 +1,13 @@
1
- <!doctype html>
2
- <html lang="zh-CN">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Vite + React</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="/src/main.jsx"></script>
12
- </body>
13
- </html>
14
-
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title><%= title %></title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.<%= entryExt %>"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,10 @@
1
+ import { StrictMode } from 'react'
2
+ import { createRoot } from 'react-dom/client'
3
+ import './index.css'
4
+ import App from './App.jsx'
5
+
6
+ createRoot(document.getElementById('root')).render(
7
+ <StrictMode>
8
+ <App />
9
+ </StrictMode>,
10
+ )
@@ -0,0 +1,10 @@
1
+ import { StrictMode } from 'react'
2
+ import { createRoot } from 'react-dom/client'
3
+ import './index.css'
4
+ import App from './App.tsx'
5
+
6
+ createRoot(document.getElementById('root')!).render(
7
+ <StrictMode>
8
+ <App />
9
+ </StrictMode>,
10
+ )
@@ -0,0 +1,7 @@
1
+ {
2
+ "semi": false,
3
+ "singleQuote": true,
4
+ "printWidth": 100,
5
+ "tabWidth": 2,
6
+ "trailingComma": "all"
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "scripts": {
3
+ "format": "prettier --write src/**/*"
4
+ },
5
+ "devDependencies": {
6
+ "eslint-config-prettier": "^9.1.0",
7
+ "prettier": "^3.4.2"
8
+ }
9
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "scripts": {
3
+ "lint": "eslint ."
4
+ },
5
+ "devDependencies": {
6
+ "@eslint/js": "^9.18.0",
7
+ "eslint": "^9.18.0",
8
+ "eslint-plugin-react-hooks": "^5.0.0",
9
+ "eslint-plugin-react-refresh": "^0.4.16",
10
+ "globals": "^15.14.0"
11
+ }
12
+ }
@@ -0,0 +1,24 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+
6
+ export default [
7
+ { ignores: ['dist'] },
8
+ {
9
+ files: ['**/*.{js,jsx}'],
10
+ languageOptions: {
11
+ ecmaVersion: 2020,
12
+ globals: globals.browser,
13
+ },
14
+ plugins: {
15
+ 'react-hooks': reactHooks,
16
+ 'react-refresh': reactRefresh,
17
+ },
18
+ rules: {
19
+ ...js.configs.recommended.rules,
20
+ ...reactHooks.configs.recommended.rules,
21
+ 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
22
+ },
23
+ },
24
+ ]
@@ -0,0 +1,25 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import tseslint from 'typescript-eslint'
6
+
7
+ export default tseslint.config(
8
+ { ignores: ['dist'] },
9
+ {
10
+ extends: [js.configs.recommended, ...tseslint.configs.recommended],
11
+ files: ['**/*.{ts,tsx}'],
12
+ languageOptions: {
13
+ ecmaVersion: 2020,
14
+ globals: globals.browser,
15
+ },
16
+ plugins: {
17
+ 'react-hooks': reactHooks,
18
+ 'react-refresh': reactRefresh,
19
+ },
20
+ rules: {
21
+ ...reactHooks.configs.recommended.rules,
22
+ 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
23
+ },
24
+ },
25
+ )
@@ -0,0 +1,5 @@
1
+ {
2
+ "devDependencies": {
3
+ "typescript-eslint": "^8.19.1"
4
+ }
5
+ }
@@ -0,0 +1,3 @@
1
+ import eslintConfigPrettier from 'eslint-config-prettier'
2
+
3
+ export default [eslintConfigPrettier]
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "isolatedModules": true,
13
+ "moduleDetection": "force",
14
+ "noEmit": true,
15
+ "jsx": "react-jsx",
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+ "noUncheckedSideEffectImports": true
23
+ },
24
+ "include": ["src"]
25
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2023"],
5
+ "module": "ESNext",
6
+ "skipLibCheck": true,
7
+
8
+ /* Bundler mode */
9
+ "moduleResolution": "bundler",
10
+ "allowImportingTsExtensions": true,
11
+ "isolatedModules": true,
12
+ "moduleDetection": "force",
13
+ "noEmit": true,
14
+
15
+ /* Linting */
16
+ "strict": true,
17
+ "noUnusedLocals": true,
18
+ "noUnusedParameters": true,
19
+ "noFallthroughCasesInSwitch": true,
20
+ "noUncheckedSideEffectImports": true
21
+ },
22
+ "include": ["vite.config.ts"]
23
+ }
package/bin/cli.js DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const { program } = require('commander');
4
- const createProject = require('../src/index');
5
-
6
- program
7
- .name('create-vite-react-cli')
8
- .description('快速创建基于 Vite 的 React 项目')
9
- .version('0.1.0')
10
- .argument('[project-name]', '项目名称')
11
- .action((projectName) => {
12
- createProject(projectName);
13
- });
14
-
15
- program.parse();
16
-
package/src/index.js DELETED
@@ -1,86 +0,0 @@
1
- const fs = require('fs-extra');
2
- const path = require('path');
3
- const chalk = require('chalk');
4
- const ora = require('ora');
5
- const inquirer = require('inquirer');
6
-
7
- async function createProject(projectName) {
8
- try {
9
- // 如果没有提供项目名称,则询问用户
10
- if (!projectName) {
11
- const answer = await inquirer.prompt([
12
- {
13
- type: 'input',
14
- name: 'name',
15
- message: '请输入项目名称:',
16
- default: 'my-vite-react-app',
17
- validate: (input) => {
18
- if (!input.trim()) {
19
- return '项目名称不能为空';
20
- }
21
- if (!/^[a-z0-9-]+$/.test(input)) {
22
- return '项目名称只能包含小写字母、数字和连字符';
23
- }
24
- return true;
25
- }
26
- }
27
- ]);
28
- projectName = answer.name;
29
- }
30
-
31
- // 验证项目名称格式
32
- if (!/^[a-z0-9-]+$/.test(projectName)) {
33
- console.error(chalk.red('错误: 项目名称只能包含小写字母、数字和连字符'));
34
- process.exit(1);
35
- }
36
-
37
- const targetDir = path.resolve(process.cwd(), projectName);
38
-
39
- // 检查目录是否已存在
40
- if (await fs.pathExists(targetDir)) {
41
- const { overwrite } = await inquirer.prompt([
42
- {
43
- type: 'confirm',
44
- name: 'overwrite',
45
- message: `目录 ${projectName} 已存在,是否覆盖?`,
46
- default: false
47
- }
48
- ]);
49
-
50
- if (overwrite) {
51
- await fs.remove(targetDir);
52
- } else {
53
- console.log(chalk.yellow('操作已取消'));
54
- process.exit(0);
55
- }
56
- }
57
-
58
- const spinner = ora('正在创建项目...').start();
59
-
60
- // 创建项目目录
61
- await fs.ensureDir(targetDir);
62
-
63
- // 复制模板文件
64
- const templateDir = path.join(__dirname, '../templates');
65
- await fs.copy(templateDir, targetDir);
66
-
67
- // 读取并更新 package.json
68
- const packageJsonPath = path.join(targetDir, 'package.json');
69
- const packageJson = await fs.readJson(packageJsonPath);
70
- packageJson.name = projectName;
71
- await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
72
-
73
- spinner.succeed('项目创建成功!');
74
-
75
- console.log(chalk.green('\n下一步:'));
76
- console.log(chalk.cyan(` cd ${projectName}`));
77
- console.log(chalk.cyan(' npm install'));
78
- console.log(chalk.cyan(' npm run dev\n'));
79
- } catch (error) {
80
- console.error(chalk.red('创建项目时出错:'), error.message);
81
- process.exit(1);
82
- }
83
- }
84
-
85
- module.exports = createProject;
86
-
@@ -1,35 +0,0 @@
1
- # React + Vite
2
-
3
- 这是一个使用 [Vite](https://vitejs.dev/) 创建的 React 项目模板。
4
-
5
- ## 开始使用
6
-
7
- ### 安装依赖
8
-
9
- ```bash
10
- npm install
11
- ```
12
-
13
- ### 开发
14
-
15
- ```bash
16
- npm run dev
17
- ```
18
-
19
- ### 构建
20
-
21
- ```bash
22
- npm run build
23
- ```
24
-
25
- ### 预览生产构建
26
-
27
- ```bash
28
- npm run preview
29
- ```
30
-
31
- ## 了解更多
32
-
33
- - [React 文档](https://react.dev/)
34
- - [Vite 文档](https://vitejs.dev/)
35
-
@@ -1,22 +0,0 @@
1
- {
2
- "name": "my-vite-react-app",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "vite build",
9
- "preview": "vite preview"
10
- },
11
- "dependencies": {
12
- "react": "^18.2.0",
13
- "react-dom": "^18.2.0"
14
- },
15
- "devDependencies": {
16
- "@types/react": "^18.2.43",
17
- "@types/react-dom": "^18.2.17",
18
- "@vitejs/plugin-react": "^4.2.1",
19
- "vite": "^5.0.8"
20
- }
21
- }
22
-
@@ -1,2 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-11.283-12.978c-.404-.466-.827-.928-1.238-1.4c-7.464-8.563-15.868-15.939-24.959-22.256a9.87 9.87 0 0 0-2.422-1.005a128.22 128.22 0 0 0-9.276-2.756a132.952 132.952 0 0 0-20.177-2.729a9.9 9.9 0 0 0-1.15-.04H128.01c-1.4.015-2.8.04-4.19.13c-6.97.38-13.88 1.23-20.65 2.55a9.95 9.95 0 0 0-1.87.48c-3.12.75-6.19 1.63-9.2 2.65a9.85 9.85 0 0 0-1.72.73a115.388 115.388 0 0 0-9.12 4.54a134.838 134.838 0 0 0-25.037 22.19a9.98 9.98 0 0 0-1.13 1.28a145.227 145.227 0 0 0-11.16 12.94a125.876 125.876 0 0 0-7.35 10.48a156.152 156.152 0 0 0-9.07 17.15c-.25.52-.48 1.05-.71 1.58a114.27 114.27 0 0 0-5.13 14.88a9.97 9.97 0 0 0-.28 1.16a125.67 125.67 0 0 0-3.18 15.75a9.94 9.94 0 0 0-.08 1.22v.66a132.52 132.52 0 0 0-.17 13.16a9.9 9.9 0 0 0 .08 1.22c.33 2.62.75 5.22 1.26 7.8a9.97 9.97 0 0 0 .28 1.16c.95 3.88 2.05 7.72 3.28 11.52c.23.53.46 1.06.71 1.58a156.152 156.152 0 0 0 9.07 17.15c1.55 2.8 3.2 5.55 4.93 8.25a125.876 125.876 0 0 0 7.35 10.48a145.227 145.227 0 0 0 11.16 12.94a9.98 9.98 0 0 0 1.13 1.28a134.838 134.838 0 0 0 25.037 22.19a115.388 115.388 0 0 0 9.12 4.54a9.85 9.85 0 0 0 1.72.73c2.95.98 5.97 1.84 9.03 2.56a9.95 9.95 0 0 0 1.87.48c6.77 1.32 13.68 2.17 20.65 2.55c1.39.09 2.79.12 4.19.13h1.93c1.4-.015 2.8-.04 4.19-.13c6.97-.38 13.88-1.23 20.65-2.55a9.95 9.95 0 0 0 1.87-.48c3.06-.72 6.08-1.58 9.03-2.56a9.85 9.85 0 0 0 1.72-.73a115.388 115.388 0 0 0 9.12-4.54a134.838 134.838 0 0 0 25.037-22.19a9.98 9.98 0 0 0 1.13-1.28a145.227 145.227 0 0 0 11.16-12.94c1.73-2.7 3.38-5.45 4.93-8.25a156.152 156.152 0 0 0 9.07-17.15c.25-.52.48-1.05.71-1.58a114.27 114.27 0 0 0 5.13-14.88a9.97 9.97 0 0 0 .28-1.16c.51-2.58.93-5.18 1.26-7.8a9.9 9.9 0 0 0 .08-1.22v-.66a132.52 132.52 0 0 0-.17-13.16a9.9 9.9 0 0 0-.08-1.22c-.33-2.62-.75-5.22-1.26-7.8a9.97 9.97 0 0 0-.28-1.16a114.27 114.27 0 0 0-5.13-14.88c-.23-.53-.46-1.06-.71-1.58a156.152 156.152 0 0 0-9.07-17.15a125.876 125.876 0 0 0-7.35-10.48Zm-5.376 20.45c.2.42.4.85.59 1.28c1.55 3.4 2.98 6.86 4.27 10.37c.08.22.16.44.23.66c1.15 3.23 2.2 6.5 3.13 9.8c.05.18.1.36.15.54c.7 2.55 1.35 5.12 1.93 7.7c.03.13.06.26.09.39c.52 2.3.98 4.62 1.38 6.95c.02.12.04.24.06.36c.35 2.05.66 4.11.92 6.18c.01.1.02.2.03.3c.22 1.78.4 3.57.54 5.36c.01.12.02.24.03.36c.1 1.5.18 3 .23 4.5c0 .08 0 .16.01.24c.03 1.1.05 2.2.05 3.3c0 .37 0 .74-.01 1.11c0 .55-.02 1.1-.04 1.65c-.01.24-.02.48-.04.72c-.05 1.5-.13 3-.23 4.5c-.01.12-.02.24-.03.36c-.14 1.79-.32 3.58-.54 5.36c-.01.1-.02.2-.03.3c-.26 2.07-.57 4.13-.92 6.18c-.02.12-.04.24-.06.36c-.4 2.33-.86 4.65-1.38 6.95c-.03.13-.06.26-.09.39c-.58 2.58-1.23 5.15-1.93 7.7c-.05.18-.1.36-.15.54c-.93 3.3-1.98 6.57-3.13 9.8c-.07.22-.15.44-.23.66c-1.29 3.51-2.72 6.97-4.27 10.37c-.19.43-.39.86-.59 1.28a134.376 134.376 0 0 1-8.89 15.48a115.22 115.22 0 0 1-6.15 8.88a125.3 125.3 0 0 1-9.78 11.2a115.5 115.5 0 0 1-8.56 8.12a134.7 134.7 0 0 1-22.12 16.12a115.4 115.4 0 0 1-7.84 4.1a125.4 125.4 0 0 1-17.15 6.12a115.5 115.5 0 0 1-8.88 2.12a134.7 134.7 0 0 1-24.75 2.3c-.46 0-.92-.01-1.38-.02c-3.3-.08-6.58-.3-9.83-.66a115.5 115.5 0 0 1-8.88-2.12a125.4 125.4 0 0 1-17.15-6.12a115.4 115.4 0 0 1-7.84-4.1a134.7 134.7 0 0 1-22.12-16.12a115.5 115.5 0 0 1-8.56-8.12a125.3 125.3 0 0 1-9.78-11.2a115.22 115.22 0 0 1-6.15-8.88a134.376 134.376 0 0 1-8.89-15.48c-.2-.42-.4-.85-.59-1.28c-1.55-3.4-2.98-6.86-4.27-10.37a115.22 115.22 0 0 1-.23-.66c-1.15-3.23-2.2-6.5-3.13-9.8a125.3 125.3 0 0 1-.15-.54c-.7-2.55-1.35-5.12-1.93-7.7a115.5 115.5 0 0 1-.09-.39c-.52-2.3-.98-4.62-1.38-6.95a134.7 134.7 0 0 1-.06-.36c-.35-2.05-.66-4.11-.92-6.18a115.4 115.4 0 0 1-.03-.3c-.22-1.78-.4-3.57-.54-5.36a125.4 125.4 0 0 1-.03-.36c-.1-1.5-.18-3-.23-4.5a115.5 115.5 0 0 1-.04-.72c-.02-.55-.04-1.1-.04-1.65c0-.37 0-.74-.01-1.11c0-1.1-.02-2.2-.05-3.3a134.7 134.7 0 0 1-.01-.24c-.05-1.5-.13-3-.23-4.5c-.01-.12-.02-.24-.03-.36c-.14-1.79-.32-3.58-.54-5.36c-.01-.1-.02-.2-.03-.3c-.26-2.07-.57-4.13-.92-6.18c-.02-.12-.04-.24-.06-.36c-.4-2.33-.86-4.65-1.38-6.95c-.03-.13-.06-.26-.09-.39c-.58-2.58-1.23-5.15-1.93-7.7c-.05-.18-.1-.36-.15-.54c-.93-3.3-1.98-6.57-3.13-9.8c-.07-.22-.15-.44-.23-.66c1.29-3.51 2.72-6.97 4.27-10.37c.19-.43.39-.86.59-1.28a134.376 134.376 0 0 1 8.89-15.48a115.22 115.22 0 0 1 6.15-8.88a125.3 125.3 0 0 1 9.78-11.2a115.5 115.5 0 0 1 8.56-8.12a134.7 134.7 0 0 1 22.12-16.12a115.4 115.4 0 0 1 7.84-4.1a125.4 125.4 0 0 1 17.15-6.12a115.5 115.5 0 0 1 8.88-2.12a134.7 134.7 0 0 1 24.75-2.3c.46 0 .92.01 1.38.02c3.3.08 6.58.3 9.83.66a115.5 115.5 0 0 1 8.88 2.12a125.4 125.4 0 0 1 17.15 6.12a115.4 115.4 0 0 1 7.84 4.1a134.7 134.7 0 0 1 22.12 16.12a115.5 115.5 0 0 1 8.56 8.12a125.3 125.3 0 0 1 9.78 11.2a115.22 115.22 0 0 1 6.15 8.88a134.376 134.376 0 0 1 8.89 15.48Z"></path><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-11.283-12.978c-.404-.466-.827-.928-1.238-1.4c-7.464-8.563-15.868-15.939-24.959-22.256a9.87 9.87 0 0 0-2.422-1.005a128.22 128.22 0 0 0-9.276-2.756a132.952 132.952 0 0 0-20.177-2.729a9.9 9.9 0 0 0-1.15-.04H128.01c-1.4.015-2.8.04-4.19.13c-6.97.38-13.88 1.23-20.65 2.55a9.95 9.95 0 0 0-1.87.48c-3.12.75-6.19 1.63-9.2 2.65a9.85 9.85 0 0 0-1.72.73a115.388 115.388 0 0 0-9.12 4.54a134.838 134.838 0 0 0-25.037 22.19a9.98 9.98 0 0 0-1.13 1.28a145.227 145.227 0 0 0-11.16 12.94a125.876 125.876 0 0 0-7.35 10.48a156.152 156.152 0 0 0-9.07 17.15c-.25.52-.48 1.05-.71 1.58a114.27 114.27 0 0 0-5.13 14.88a9.97 9.97 0 0 0-.28 1.16a125.67 125.67 0 0 0-3.18 15.75a9.94 9.94 0 0 0-.08 1.22v.66a132.52 132.52 0 0 0-.17 13.16a9.9 9.9 0 0 0 .08 1.22c.33 2.62.75 5.22 1.26 7.8a9.97 9.97 0 0 0 .28 1.16c.95 3.88 2.05 7.72 3.28 11.52c.23.53.46 1.06.71 1.58a156.152 156.152 0 0 0 9.07 17.15c1.55 2.8 3.2 5.55 4.93 8.25a125.876 125.876 0 0 0 7.35 10.48a145.227 145.227 0 0 0 11.16 12.94a9.98 9.98 0 0 0 1.13 1.28a134.838 134.838 0 0 0 25.037 22.19a115.388 115.388 0 0 0 9.12 4.54a9.85 9.85 0 0 0 1.72.73c2.95.98 5.97 1.84 9.03 2.56a9.95 9.95 0 0 0 1.87.48c6.77 1.32 13.68 2.17 20.65 2.55c1.39.09 2.79.12 4.19.13h1.93c1.4-.015 2.8-.04 4.19-.13c6.97-.38 13.88-1.23 20.65-2.55a9.95 9.95 0 0 0 1.87-.48c3.06-.72 6.08-1.58 9.03-2.56a9.85 9.85 0 0 0 1.72-.73a115.388 115.388 0 0 0 9.12-4.54a134.838 134.838 0 0 0 25.037-22.19a9.98 9.98 0 0 0 1.13-1.28a145.227 145.227 0 0 0 11.16-12.94c1.73-2.7 3.38-5.45 4.93-8.25a156.152 156.152 0 0 0 9.07-17.15c.25-.52.48-1.05.71-1.58a114.27 114.27 0 0 0 5.13-14.88a9.97 9.97 0 0 0 .28-1.16c.51-2.58.93-5.18 1.26-7.8a9.9 9.9 0 0 0 .08-1.22v-.66a132.52 132.52 0 0 0-.17-13.16a9.9 9.9 0 0 0-.08-1.22c-.33-2.62-.75-5.22-1.26-7.8a9.97 9.97 0 0 0-.28-1.16a114.27 114.27 0 0 0-5.13-14.88c-.23-.53-.46-1.06-.71-1.58a156.152 156.152 0 0 0-9.07-17.15a125.876 125.876 0 0 0-7.35-10.48Zm-5.376 20.45c.2.42.4.85.59 1.28c1.55 3.4 2.98 6.86 4.27 10.37c.08.22.16.44.23.66c1.15 3.23 2.2 6.5 3.13 9.8c.05.18.1.36.15.54c.7 2.55 1.35 5.12 1.93 7.7c.03.13.06.26.09.39c.52 2.3.98 4.62 1.38 6.95c.02.12.04.24.06.36c.35 2.05.66 4.11.92 6.18c.01.1.02.2.03.3c.22 1.78.4 3.57.54 5.36c.01.12.02.24.03.36c.1 1.5.18 3 .23 4.5c0 .08 0 .16.01.24c.03 1.1.05 2.2.05 3.3c0 .37 0 .74-.01 1.11c0 .55-.02 1.1-.04 1.65c-.01.24-.02.48-.04.72c-.05 1.5-.13 3-.23 4.5c-.01.12-.02.24-.03.36c-.14 1.79-.32 3.58-.54 5.36c-.01.1-.02.2-.03.3c-.26 2.07-.57 4.13-.92 6.18c-.02.12-.04.24-.06.36c-.4 2.33-.86 4.65-1.38 6.95c-.03.13-.06.26-.09.39c-.58 2.58-1.23 5.15-1.93 7.7c-.05.18-.1.36-.15.54c-.93 3.3-1.98 6.57-3.13 9.8c-.07.22-.15.44-.23.66c-1.29 3.51-2.72 6.97-4.27 10.37c-.19.43-.39.86-.59 1.28a134.376 134.376 0 0 1-8.89 15.48a115.22 115.22 0 0 1-6.15 8.88a125.3 125.3 0 0 1-9.78 11.2a115.5 115.5 0 0 1-8.56 8.12a134.7 134.7 0 0 1-22.12 16.12a115.4 115.4 0 0 1-7.84 4.1a125.4 125.4 0 0 1-17.15 6.12a115.5 115.5 0 0 1-8.88 2.12a134.7 134.7 0 0 1-24.75 2.3c-.46 0-.92-.01-1.38-.02c-3.3-.08-6.58-.3-9.83-.66a115.5 115.5 0 0 1-8.88-2.12a125.4 125.4 0 0 1-17.15-6.12a115.4 115.4 0 0 1-7.84-4.1a134.7 134.7 0 0 1-22.12-16.12a115.5 115.5 0 0 1-8.56-8.12a125.3 125.3 0 0 1-9.78-11.2a115.22 115.22 0 0 1-6.15-8.88a134.376 134.376 0 0 1-8.89-15.48c-.2-.42-.4-.85-.59-1.28c-1.55-3.4-2.98-6.86-4.27-10.37a115.22 115.22 0 0 1-.23-.66c-1.15-3.23-2.2-6.5-3.13-9.8a125.3 125.3 0 0 1-.15-.54c-.7-2.55-1.35-5.12-1.93-7.7a115.5 115.5 0 0 1-.09-.39c-.52-2.3-.98-4.62-1.38-6.95a134.7 134.7 0 0 1-.06-.36c-.35-2.05-.66-4.11-.92-6.18a115.4 115.4 0 0 1-.03-.3c-.22-1.78-.4-3.57-.54-5.36a125.4 125.4 0 0 1-.03-.36c-.1-1.5-.18-3-.23-4.5a115.5 115.5 0 0 1-.04-.72c-.02-.55-.04-1.1-.04-1.65c0-.37 0-.74-.01-1.11c0-1.1-.02-2.2-.05-3.3a134.7 134.7 0 0 1-.01-.24c-.05-1.5-.13-3-.23-4.5c-.01-.12-.02-.24-.03-.36c-.14-1.79-.32-3.58-.54-5.36c-.01-.1-.02-.2-.03-.3c-.26-2.07-.57-4.13-.92-6.18c-.02-.12-.04-.24-.06-.36c-.4-2.33-.86-4.65-1.38-6.95c-.03-.13-.06-.26-.09-.39c-.58-2.58-1.23-5.15-1.93-7.7c-.05-.18-.1-.36-.15-.54c-.93-3.3-1.98-6.57-3.13-9.8c-.07-.22-.15-.44-.23-.66c1.29-3.51 2.72-6.97 4.27-10.37c.19-.43.39-.86.59-1.28a134.376 134.376 0 0 1 8.89-15.48a115.22 115.22 0 0 1 6.15-8.88a125.3 125.3 0 0 1 9.78-11.2a115.5 115.5 0 0 1 8.56-8.12a134.7 134.7 0 0 1 22.12-16.12a115.4 115.4 0 0 1 7.84-4.1a125.4 125.4 0 0 1 17.15-6.12a115.5 115.5 0 0 1 8.88-2.12a134.7 134.7 0 0 1 24.75-2.3c.46 0 .92.01 1.38.02c3.3.08 6.58.3 9.83.66a115.5 115.5 0 0 1 8.88 2.12a125.4 125.4 0 0 1 17.15 6.12a115.4 115.4 0 0 1 7.84 4.1a134.7 134.7 0 0 1 22.12 16.12a115.5 115.5 0 0 1 8.56 8.12a125.3 125.3 0 0 1 9.78 11.2a115.22 115.22 0 0 1 6.15 8.88a134.376 134.376 0 0 1 8.89 15.48Z"></path></svg>
2
-
@@ -1,34 +0,0 @@
1
- import { useState } from 'react'
2
- import './App.css'
3
-
4
- function App() {
5
- const [count, setCount] = useState(0)
6
-
7
- return (
8
- <div className="App">
9
- <div>
10
- <a href="https://vitejs.dev" target="_blank" rel="noopener noreferrer">
11
- <img src="/vite.svg" className="logo" alt="Vite logo" />
12
- </a>
13
- <a href="https://react.dev" target="_blank" rel="noopener noreferrer">
14
- <img src="/react.svg" className="logo react" alt="React logo" />
15
- </a>
16
- </div>
17
- <h1>Vite + React</h1>
18
- <div className="card">
19
- <button onClick={() => setCount((count) => count + 1)}>
20
- 计数是 {count}
21
- </button>
22
- <p>
23
- 编辑 <code>src/App.jsx</code> 并保存以测试 HMR
24
- </p>
25
- </div>
26
- <p className="read-the-docs">
27
- 点击 Vite 和 React 的 logo 了解更多信息
28
- </p>
29
- </div>
30
- )
31
- }
32
-
33
- export default App
34
-
@@ -1,11 +0,0 @@
1
- import React from 'react'
2
- import ReactDOM from 'react-dom/client'
3
- import App from './App.jsx'
4
- import './index.css'
5
-
6
- ReactDOM.createRoot(document.getElementById('root')).render(
7
- <React.StrictMode>
8
- <App />
9
- </React.StrictMode>,
10
- )
11
-