ENV
This commit is contained in:
@@ -90,7 +90,7 @@ npm start
|
|||||||
|
|
||||||
## 数据库配置
|
## 数据库配置
|
||||||
|
|
||||||
应用根据 `DATABASE_CLIENT` 使用不同数据库。未设置时,开发/测试环境默认 `sqlite`,`NODE_ENV=production` 默认 `mysql`。
|
应用启动时会自动读取项目根目录的 `.env`,可先运行 `Copy-Item .env.example .env` 创建配置文件。命令行或部署平台已经注入的进程环境变量优先于 `.env`。应用根据 `DATABASE_CLIENT` 使用不同数据库;未设置时,开发/测试环境默认 `sqlite`,`NODE_ENV=production` 默认 `mysql`。
|
||||||
|
|
||||||
### 本地 SQLite
|
### 本地 SQLite
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@ $env:HOST = '0.0.0.0'
|
|||||||
npm start
|
npm start
|
||||||
```
|
```
|
||||||
|
|
||||||
也可以只设置标准连接地址 `DATABASE_URL=mysql://user:password@host:3306/database`。完整模板见 `.env.example`;项目不会自动加载 `.env` 文件,部署平台应将这些值作为进程环境变量注入。
|
也可以只设置标准连接地址 `DATABASE_URL=mysql://user:password@host:3306/database`。完整模板见 `.env.example`;将模板复制为 `.env` 后取消 MySQL 配置项的注释并填写实际连接信息即可。生产部署仍建议由部署平台注入环境变量,避免在服务器文件中保存密码。
|
||||||
|
|
||||||
## 演示账号
|
## 演示账号
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { createServer } from 'node:http';
|
import { createServer } from 'node:http';
|
||||||
|
import { existsSync } from 'node:fs';
|
||||||
import { readFile } from 'node:fs/promises';
|
import { readFile } from 'node:fs/promises';
|
||||||
import { extname, join, normalize, resolve } from 'node:path';
|
import { extname, join, normalize, resolve } from 'node:path';
|
||||||
|
import { loadEnvFile } from 'node:process';
|
||||||
import { randomBytes, pbkdf2Sync, timingSafeEqual } from 'node:crypto';
|
import { randomBytes, pbkdf2Sync, timingSafeEqual } from 'node:crypto';
|
||||||
import { createDatabase } from './database.mjs';
|
import { createDatabase } from './database.mjs';
|
||||||
import { buildCenterMaterialsWorkbook, buildWorkbook, hasExcelResource, parseWorkbook } from './excel.mjs';
|
import { buildCenterMaterialsWorkbook, buildWorkbook, hasExcelResource, parseWorkbook } from './excel.mjs';
|
||||||
@@ -15,6 +17,9 @@ import { createSeedDatabase } from './src/data/seed.mjs';
|
|||||||
import { resolveRegion } from './src/data/region-service.mjs';
|
import { resolveRegion } from './src/data/region-service.mjs';
|
||||||
|
|
||||||
const root = resolve(process.cwd());
|
const root = resolve(process.cwd());
|
||||||
|
const envPath = join(root, '.env');
|
||||||
|
if (existsSync(envPath)) loadEnvFile(envPath);
|
||||||
|
|
||||||
const port = Number(process.env.PORT || 4173);
|
const port = Number(process.env.PORT || 4173);
|
||||||
const host = process.env.HOST || '127.0.0.1';
|
const host = process.env.HOST || '127.0.0.1';
|
||||||
const sessions = new Map();
|
const sessions = new Map();
|
||||||
|
|||||||
Reference in New Issue
Block a user