Appearance
项目根目录下 config/config.*.ts
apps
- 类型:
{ [key: string]: { port: number enabled?: boolean hostname?: string _chostname?: string } }
- 默认:
{}
示例:
ts
// config/config.*.ts
export const trickd: ModuleOptions = {
apps: {
// 项目根目录需有app.exp目录
'app.exp': {
port: 80, // 端口
enabled: true, // 是否启用当前app,若false,在启动或构建时忽略会此app
// 用于多app路由跳转。若未配置,hostname值默认为(server.domain||127.0.0.1)+port
hostname: '',
// 使用app代理时,app的真实ip:port
_chostname: string
},
}
// config/config.*.ts
export const trickd: ModuleOptions = {
apps: {
// 项目根目录需有app.exp目录
'app.exp': {
port: 80, // 端口
enabled: true, // 是否启用当前app,若false,在启动或构建时忽略会此app
// 用于多app路由跳转。若未配置,hostname值默认为(server.domain||127.0.0.1)+port
hostname: '',
// 使用app代理时,app的真实ip:port
_chostname: string
},
}
多app路由跳转时,获取app的路由地址:
ts
const runtimeConfig = useRuntimeConfig()
location.href = runtimeConfig.public.trickd.apps['app.exp'].hostname
// => http://127.0.0.1
const runtimeConfig = useRuntimeConfig()
location.href = runtimeConfig.public.trickd.apps['app.exp'].hostname
// => http://127.0.0.1
env
- 类型:
Record<string, any>
- 默认:
{}
自定义全局常量,项目内通过 useRuntimeConfig().public.trickd.env
获取。示例:
ts
// config/config.*.ts
export const trickd: ModuleOptions = {
env:{ foo: 'bar' }
}
// config/config.*.ts
export const trickd: ModuleOptions = {
env:{ foo: 'bar' }
}
ts
// *.vue
const runtimeConfig = useRuntimeConfig()
console.log(runtimeConfig.public.trickd.env['foo']) // 'bar'
// *.vue
const runtimeConfig = useRuntimeConfig()
console.log(runtimeConfig.public.trickd.env['foo']) // 'bar'
mode
- 类型:
'alone' | 'normal' | 'encrypt' | 'safe' | 'quick'
- 默认:
'normal'
启动模式。alone
:单机模式;normal
:正常;encrypt
:开启加密;safe
:安测模式 ;quick
:性能模式
server.addr
- 类型:
string
- 默认:
''
@trickd/core
serverless网关地址。网关部署参考serverless网关部署
server.https
- 类型:
boolean
- 默认:
false
是否启用https
server.domain
- 类型:
string
- 默认:
''
域名配置,配置后启用访问域名验证
server.csp.enabled
- 类型:
boolean
- 默认:
false
是否启用csp
server.csp.directives
- 类型:
{ 'default-src'?: string[] 'base-uri'?: string[] 'font-src'?: string[] 'form-action'?: string[] 'frame-ancestors'?: string[] 'img-src'?: string[] 'object-src'?: string[] 'script-src'?: string[] 'script-src-attr'?: string[] 'style-src'?: string[] 'connect-src'?: string[] 'frame-src'?: string[] }
- 默认:
{ 'default-src': ["'self'"], 'base-uri': ["'self'"], 'font-src': ["'self'", 'https:', 'data:'], 'form-action': ["'self'"], 'frame-ancestors': ["'self'"], 'img-src': ["'self'", 'data:'], 'object-src': ["'none'"], 'script-src': ["'self'"], 'script-src-attr': ["'none'"], 'style-src': ["'self'", 'https:', "'unsafe-inline'"], 'connect-src': ["'self'"], 'frame-src': ["'self'"], }
- 参考: Content-Security-Policy
csp规则
redis.type
- 类型:
'single' | 'cluster' | 'sentinel'
- 默认:
single
redis类型。single
单点;cluster
:集群;sentinel
:哨兵
isc?: { enabled: boolean url?: string service?: string sso?: string frontmv?: string appid?: string gateway?: boolean }
isc.enabled
- 类型:
boolean
- 默认:
false
是否启用isc
isc.url
- 类型:
string
- 默认:
https://isctest.jiafly.cn:22022
isc地址,例如:https://isctest.jiafly.cn:22022
isc.appid
- 类型:
string
- 默认:
''
isc appId
isc.sso
- 类型:
string
- 默认:
https://isctest.jiafly.cn:22022/sso
isc sso地址,例如:https://isctest.jiafly.cn:22022/sso
isc.frontmv
- 类型:
string
- 默认:
https://isctest.jiafly.cn:22022/isc_frontmv_serv
isc sso地址,例如:https://isctest.jiafly.cn:22022/isc_frontmv_serv
isc.service
- 类型:
string
- 默认:
''
系统登录页,isc登录回调业务系统的地址,例如: 'http://10.120.21.12:8080',
isc.gateway
- 类型:
boolean
- 默认:
false
bd六期专用
proxy.gateway
- 类型:
Record<string, string>
- 默认:
{}
接口请求代理。示例:
ts
// config/config.*.ts
export const trickd: ModuleOptions = {
proxy: { gateway: {exp: 'http://127.0.0.1:3001' }},
}
// config/config.*.ts
export const trickd: ModuleOptions = {
proxy: { gateway: {exp: 'http://127.0.0.1:3001' }},
}
ts
// *.vue|ts
// vue项目
$fetch('/exp/post', { method: 'post' }) // 请求地址最终为http://127.0.0.1:3001/post
// nuxt项目
useFetch('/exp/post', { method: 'post' }) // 请求地址最终为http://127.0.0.1:3001/post
// *.vue|ts
// vue项目
$fetch('/exp/post', { method: 'post' }) // 请求地址最终为http://127.0.0.1:3001/post
// nuxt项目
useFetch('/exp/post', { method: 'post' }) // 请求地址最终为http://127.0.0.1:3001/post
proxy.timeout
- 类型:
number(毫秒)
- 默认:
1000 * 60 * 10
全局接口超时。如接口需单独配置时,在请求头中添加x-wz-timeout
,优先级高于全局 proxy.timeout
。示例:
ts
useFetch('/exp/post', { method: 'post', headers: { 'x-wz-timeout': 1000 } })
useFetch('/exp/post', { method: 'post', headers: { 'x-wz-timeout': 1000 } })
nuxt
- 类型:
NuxtConfig
- 参考:
NuxtConfig
nuxt
项目生效,合并 nuxt.config.ts
配置,优先级高于 nuxt.config.ts