改进
This commit is contained in:
parent
d5c8f3ff52
commit
3f28963e1e
@ -1,4 +1,3 @@
|
|||||||
DB_CONNECTION=mysql
|
|
||||||
DB_HOST=127.0.0.1
|
DB_HOST=127.0.0.1
|
||||||
DB_PORT=3306
|
DB_PORT=3306
|
||||||
DB_DATABASE=auth
|
DB_DATABASE=auth
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -3,4 +3,6 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
build/
|
build/
|
||||||
tmp/
|
tmp/
|
||||||
temp/
|
temp/
|
||||||
|
yarn.lock
|
||||||
|
ormconfig.json
|
@ -3,5 +3,5 @@
|
|||||||
Steps to run this project:
|
Steps to run this project:
|
||||||
|
|
||||||
1. Run `npm i` command
|
1. Run `npm i` command
|
||||||
2. Setup database settings inside `data-source.ts` file
|
2. Setup database settings inside `database.ts` file
|
||||||
3. Run `npm start` command
|
3. Run `npm start` command
|
||||||
|
16
main.ts
16
main.ts
@ -1,21 +1,7 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
import logger from 'morgan'
|
import logger from 'morgan'
|
||||||
import path from 'path'
|
|
||||||
const app = express();
|
const app = express();
|
||||||
import fs from 'fs'
|
|
||||||
import dotenv from 'dotenv'
|
|
||||||
|
|
||||||
// 检测运行目录下是否有 .env 文件,如果没有,则创建
|
|
||||||
const envPath = path.resolve(__dirname, '.env')
|
|
||||||
if (!fs.existsSync(envPath)) {
|
|
||||||
fs.writeFileSync(envPath, '')
|
|
||||||
// log
|
|
||||||
console.log('create .env file')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 加载 .env 文件
|
|
||||||
dotenv.config()
|
|
||||||
console.log(process.env)
|
|
||||||
|
|
||||||
import indexRouter from './src/routes/index'
|
import indexRouter from './src/routes/index'
|
||||||
import usersRouter from './src/routes/users'
|
import usersRouter from './src/routes/users'
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"morgan": "^1.10.0",
|
"morgan": "^1.10.0",
|
||||||
"mysql": "^2.14.1",
|
"mysql2": "^3.6.2",
|
||||||
"path": "^0.12.7",
|
"path": "^0.12.7",
|
||||||
"reflect-metadata": "^0.1.13",
|
"reflect-metadata": "^0.1.13",
|
||||||
"typeorm": "0.3.17"
|
"typeorm": "0.3.17"
|
||||||
@ -19,7 +19,7 @@
|
|||||||
"typescript": "4.5.2"
|
"typescript": "4.5.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "ts-node src/config/index.ts",
|
"start": "ts-node main.ts",
|
||||||
"typeorm": "typeorm-ts-node-commonjs"
|
"typeorm": "typeorm-ts-node-commonjs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
import "reflect-metadata"
|
|
||||||
import { DataSource } from "typeorm"
|
|
||||||
import { User } from "../entity/User"
|
|
||||||
|
|
||||||
export const AppDataSource = new DataSource({
|
|
||||||
type: "mysql",
|
|
||||||
host: "localhost",
|
|
||||||
port: 3306,
|
|
||||||
username: "test",
|
|
||||||
password: "test",
|
|
||||||
database: "test",
|
|
||||||
synchronize: true,
|
|
||||||
logging: false,
|
|
||||||
entities: [User],
|
|
||||||
migrations: [],
|
|
||||||
subscribers: [],
|
|
||||||
})
|
|
38
src/config/database.ts
Normal file
38
src/config/database.ts
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import "reflect-metadata"
|
||||||
|
import { DataSource } from "typeorm"
|
||||||
|
// import { User } from "../entity/User"/
|
||||||
|
|
||||||
|
import "./env"
|
||||||
|
|
||||||
|
const options = {
|
||||||
|
type: "mysql",
|
||||||
|
host: process.env.DB_HOST,
|
||||||
|
port: Number(process.env.DB_PORT),
|
||||||
|
username: process.env.DB_USERNAME,
|
||||||
|
password: process.env.DB_PASSWORD,
|
||||||
|
database: process.env.DB_DATABASE,
|
||||||
|
synchronize: true,
|
||||||
|
logging: false,
|
||||||
|
// entities: [User],
|
||||||
|
entities: ["../entity/*.ts"],
|
||||||
|
migrations: ["../migration/*.ts"],
|
||||||
|
subscribers: [],
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(options)
|
||||||
|
|
||||||
|
|
||||||
|
export const AppDataSource = new DataSource({
|
||||||
|
type: "mysql",
|
||||||
|
host: process.env.DB_HOST,
|
||||||
|
port: Number(process.env.DB_PORT),
|
||||||
|
username: process.env.DB_USERNAME,
|
||||||
|
password: process.env.DB_PASSWORD,
|
||||||
|
database: process.env.DB_DATABASE,
|
||||||
|
synchronize: true,
|
||||||
|
logging: false,
|
||||||
|
// entities: [User],
|
||||||
|
entities: ["../entity/*.ts"],
|
||||||
|
migrations: ["../migration/*.ts"],
|
||||||
|
subscribers: [],
|
||||||
|
})
|
26
src/config/env.ts
Normal file
26
src/config/env.ts
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import fs from 'fs'
|
||||||
|
import dotenv from 'dotenv'
|
||||||
|
|
||||||
|
let is_loaded = false
|
||||||
|
|
||||||
|
if (!is_loaded) {
|
||||||
|
// 检测运行目录下是否有 .env 文件,如果没有,则创建
|
||||||
|
const envPath = process.cwd()
|
||||||
|
|
||||||
|
console.log(envPath)
|
||||||
|
|
||||||
|
if (!fs.existsSync(envPath)) {
|
||||||
|
// 如果没有,则创建
|
||||||
|
if (!fs.existsSync(envPath)) {
|
||||||
|
console.log('create .env file at ' + envPath)
|
||||||
|
fs.writeFileSync(envPath, '')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载 .env 文件
|
||||||
|
dotenv.config({
|
||||||
|
path: envPath + '/.env'
|
||||||
|
})
|
||||||
|
|
||||||
|
is_loaded = true
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
import { AppDataSource } from "./data-source"
|
import { AppDataSource } from "./database"
|
||||||
import { User } from "../entity/User"
|
import { User } from "../entity/User"
|
||||||
|
|
||||||
AppDataSource.initialize().then(async () => {
|
AppDataSource.initialize().then(async () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user