添加 Cors
parent
e81e96512c
commit
d5d00ba709
|
@ -0,0 +1,46 @@
|
||||||
|
框架内置有一个 "一键配置跨域支持" 的中间件。非常简单实用。
|
||||||
|
|
||||||
|
```js
|
||||||
|
{
|
||||||
|
cors: {
|
||||||
|
enabled: false,
|
||||||
|
credentials: false,
|
||||||
|
origin: [], // ['abc.com', 'a.foo.com']
|
||||||
|
maxAge: 14400
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
从[默认配置](https://github.com/bytedo/gmf.core/wiki/默认配置)中可以看出, 我们想要开启跨域支持, 最简单的做法, 只需要把里面的enabled的值设为true即可。
|
||||||
|
|
||||||
|
即, 在入口文件中, 加入以下代码即可开启:
|
||||||
|
|
||||||
|
```js
|
||||||
|
app.set({ cors: { enabled: true } })
|
||||||
|
```
|
||||||
|
|
||||||
|
有时, 我们并不想这么简单粗暴的开启跨域支持, 需要对来源进行一些基础的校验, 如域名, 这时候就可以在origin字段中配置了, 配置应为一个数组, 允许同时配置多个可信域名。
|
||||||
|
|
||||||
|
注意: 这里的域名配置中, 根域名和二级域名、三级域名等, 可认为是同一域名, 只需要填写根域名即可。
|
||||||
|
|
||||||
|
```js
|
||||||
|
app.set({ cors: { enabled: true, origin: ['aaa.com', 'bbb.com'] } }) // 这里不需要再写 'foo.aaa.com' 等二级域名、三级域名了。
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
如果需要支持cookie, 还需要开启 credentials。
|
||||||
|
|
||||||
|
```js
|
||||||
|
app.set({ cors: { enabled: true, credentials: true } })
|
||||||
|
```
|
||||||
|
|
||||||
|
另外还有一个 maxAge 缓存时长字段, 根据需要自行设置即可。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
上一节: [⟪路由⟫](https://github.com/bytedo/gmf.core/wiki/Router)
|
||||||
|
|
||||||
|
下一节: [⟪控制器⟫](https://github.com/bytedo/gmf.core/wiki/Controller)
|
||||||
|
|
Loading…
Reference in New Issue