📦 添加虚拟环境和启动脚本

新增:
- backend/venv/ - Python 虚拟环境
- backend/start.sh - 启动脚本(使用虚拟环境)
- backend/requirements.txt - 依赖列表
- .gitignore - 忽略虚拟环境和缓存文件

说明:
- 每个项目使用独立虚拟环境
- 避免依赖冲突
- 启动脚本自动创建和激活虚拟环境
This commit is contained in:
2026-04-04 18:28:31 +08:00
parent 9ab279e1fe
commit 96f6318101
32058 changed files with 3949495 additions and 22 deletions

View File

@@ -0,0 +1,45 @@
// @ts-check
"use strict";
/** @typedef {import("webpack").Compilation} Compilation */
/**
* @type {{[sortmode: string] : (entryPointNames: Array<string>, compilation: Compilation, htmlWebpackPluginOptions: any) => Array<string> }}
* This file contains different sort methods for the entry chunks names
*/
module.exports = {};
/**
* Performs identity mapping (no-sort).
* @param {Array<string>} chunks the chunks to sort
* @return {Array<string>} The sorted chunks
*/
module.exports.none = (chunks) => chunks;
/**
* Sort manually by the chunks
* @param {string[]} entryPointNames the chunks to sort
* @param {Compilation} compilation the webpack compilation
* @param {any} htmlWebpackPluginOptions the plugin options
* @return {string[]} The sorted chunks
*/
module.exports.manual = (
entryPointNames,
compilation,
htmlWebpackPluginOptions,
) => {
const chunks = htmlWebpackPluginOptions.chunks;
if (!Array.isArray(chunks)) {
return entryPointNames;
}
// Remove none existing entries from
// htmlWebpackPluginOptions.chunks
return chunks.filter((entryPointName) => {
return compilation.entrypoints.has(entryPointName);
});
};
/**
* Defines the default sorter.
*/
module.exports.auto = module.exports.none;