Skip to main content

配置指南

配置

了解如何为您的项目配置 Virex。涵盖构建设置、环境变量和部署选项。

Virex 通过项目根目录下的 virex.config.js 文件进行配置。本指南涵盖所有可用选项。

基本配置

最小化配置如下所示:

export default {
  name: 'my-project',
};

Virex 会自动检测大多数设置,但您也可以根据需要覆盖它们。

构建设置

控制项目的构建方式:

export default {
  name: 'my-project',
  
  // 构建配置
  buildCommand: 'npm run build',
  installCommand: 'npm ci',
  outputDirectory: 'dist',
  
  // Node.js 版本
  nodeVersion: '20',
};

框架检测

Virex 会自动检测流行的框架:

  • Next.js
  • Astro
  • Remix
  • SvelteKit
  • Nuxt
  • 以及更多

使用 framework 选项覆盖自动检测:

framework: 'astro',

环境变量

为您的部署定义环境变量:

export default {
  name: 'my-project',
  
  env: {
    PUBLIC_API_URL: 'https://api.example.com',
  },
};

敏感变量

对于密钥,请使用 CLI 或控制台,而不是提交到代码中:

virex env add DATABASE_URL "postgres://..." --environment production

按环境区分的变量

为不同环境设置不同的值:

environments: {
  staging: {
    env: {
      PUBLIC_API_URL: 'https://staging-api.example.com',
    },
  },
  production: {
    env: {
      PUBLIC_API_URL: 'https://api.example.com',
    },
  },
},

部署设置

配置部署行为:

export default {
  name: 'my-project',
  
  // 部署设置
  regions: ['us-east-1', 'eu-west-1'],
  
  // 健康检查
  healthCheck: {
    path: '/api/health',
    interval: 30,
  },
  
  // 失败时自动回滚
  rollback: {
    automatic: true,
  },
};

响应头与重定向

配置 HTTP 响应头和重定向:

export default {
  name: 'my-project',
  
  headers: [
    {
      source: '/(.*)',
      headers: [
        { key: 'X-Frame-Options', value: 'DENY' },
      ],
    },
  ],
  
  redirects: [
    {
      source: '/old-page',
      destination: '/new-page',
      permanent: true,
    },
  ],
};

完整示例

以下是一个完整的配置示例:

export default {
  name: 'my-saas-app',
  framework: 'astro',
  
  buildCommand: 'npm run build',
  outputDirectory: 'dist',
  nodeVersion: '20',
  
  env: {
    PUBLIC_SITE_URL: 'https://myapp.com',
  },
  
  environments: {
    staging: {
      env: {
        PUBLIC_SITE_URL: 'https://staging.myapp.com',
      },
    },
  },
  
  regions: ['us-east-1'],
  
  healthCheck: {
    path: '/api/health',
    interval: 30,
  },
};

下一步