调整依赖; 优化跨域配置
							parent
							
								
									edce8b8cd6
								
							
						
					
					
						commit
						b2de266b92
					
				|  | @ -1,5 +1,9 @@ | |||
| declare module '@gm5/core' { | ||||
|   import { Server } from 'http' | ||||
|   import Request from '@gm5/request' | ||||
|   import Response from '@gm5/response' | ||||
| 
 | ||||
|   declare type Mountable = string[] | ||||
| 
 | ||||
|   interface Middleware { | ||||
|     (req: Request, res: Response, next: () => void): void | ||||
|  | @ -7,7 +11,7 @@ declare module '@gm5/core' { | |||
| 
 | ||||
|   interface Installable { | ||||
|     name: string | ||||
|     install: (args: any) => any | ||||
|     install: (args?: Record<string, any>) => any | ||||
|   } | ||||
| 
 | ||||
|   export default class Five { | ||||
|  | @ -17,12 +21,12 @@ declare module '@gm5/core' { | |||
| 
 | ||||
|     get(key: string): any | ||||
| 
 | ||||
|     use(middleware: Middleware | Installable, args?: any): this | ||||
|     use(middleware: Middleware | Installable | Mountable, args?: Record<string, any>): this | ||||
| 
 | ||||
|     listen(port?: number, callback?: () => void): this | ||||
|   } | ||||
| 
 | ||||
|   export function mount(dir?: string): array | ||||
|   export function mount(dir?: string): Mountable | ||||
| 
 | ||||
|   export function createApp(conf?: object): Five | ||||
| } | ||||
|  |  | |||
							
								
								
									
										6
									
								
								index.js
								
								
								
								
							
							
						
						
									
										6
									
								
								index.js
								
								
								
								
							|  | @ -161,13 +161,11 @@ class Five { | |||
|     // 路由中间件要在最后
 | ||||
|     this.use(createRouter()) | ||||
| 
 | ||||
| 
 | ||||
|     this.set({ port }) | ||||
|     this.#online = true | ||||
| 
 | ||||
|     this.#server = http.createServer() | ||||
| 
 | ||||
| 
 | ||||
|     this.#server | ||||
|       .on('request', (req, res) => { | ||||
|         let request = new Request(req, res) | ||||
|  | @ -182,6 +180,10 @@ class Five { | |||
|           console.log('Server successfully started ...') | ||||
|           console.log('%s://%s:%d\n', 'http', '127.0.0.1', port) | ||||
|         } | ||||
|         // 未开启跨域时, 移除跨域中间件, 以提高性能
 | ||||
|         if (!this.get('cors').enabled) { | ||||
|           this.#middlewares.shift() | ||||
|         } | ||||
|       }) | ||||
|       .on('error', err => { | ||||
|         console.error(err) | ||||
|  |  | |||
|  | @ -4,8 +4,6 @@ | |||
|  * @date 2020/09/18 14:55:49 | ||||
|  */ | ||||
| 
 | ||||
| import { parse } from 'node:url' | ||||
| 
 | ||||
| export function createCors() { | ||||
|   return function (req, res, next) { | ||||
|     let opts = this.get('cors') | ||||
|  | @ -17,7 +15,7 @@ export function createCors() { | |||
|       if (!origin) { | ||||
|         return next() | ||||
|       } | ||||
|       let { hostname, host, protocol } = parse(origin) | ||||
|       let { hostname, host, protocol } = new URL(origin) | ||||
| 
 | ||||
|       if (opts.origin.length) { | ||||
|         let pass = false | ||||
|  |  | |||
							
								
								
									
										13
									
								
								package.json
								
								
								
								
							
							
						
						
									
										13
									
								
								package.json
								
								
								
								
							|  | @ -1,23 +1,24 @@ | |||
| { | ||||
|   "name": "@gm5/core", | ||||
|   "version": "2.0.4", | ||||
|   "version": "3.0.0", | ||||
|   "type": "module", | ||||
|   "description": "Five.js, 一个轻量级的nodejs mvc框架 旨在简单易用, 5分钟即可上手", | ||||
|   "author": "yutent <yutent.io@gmail.com>", | ||||
|   "main": "index.js", | ||||
|   "types": "index.d.ts", | ||||
|   "dependencies": { | ||||
|     "@gm5/session": "^2.0.0", | ||||
|     "@gm5/request": "^2.0.3", | ||||
|     "@gm5/response": "^2.0.1", | ||||
|     "@gm5/controller": "^2.0.2", | ||||
|     "@gm5/jwt": "^2.0.2", | ||||
|     "@gm5/views": "^2.0.0", | ||||
|     "crypto.js": "^3.1.2", | ||||
|     "crypto.js": "^3.3.4", | ||||
|     "es.shim": "^2.2.0", | ||||
|     "iofs": "^1.5.3" | ||||
|   }, | ||||
|   "devDependencies": {}, | ||||
|   "optionalDependencies": { | ||||
|     "@gm5/session": "^3.0.0", | ||||
|     "@gm5/jwt": "^3.0.1", | ||||
|     "@gm5/views": "^3.0.0" | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "https://git.wkit.fun/gm5/core.git" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue