Skip to content

项目根目录下 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

nuxt 项目生效,合并 nuxt.config.ts 配置,优先级高于 nuxt.config.ts