---
title: 工程配置
summary: "介绍 Ray 工程配置文件 ray.config.ts 中 resolveAlias 模块别名和 define 全局变量的配置方法。"
tags: [Ray工程配置ray.config.ts, resolveAlias模块别名, define全局变量定义]
questions:
  - ray.config.ts 配置文件的作用是什么？放在项目哪个位置？
  - resolveAlias 默认支持哪个别名？如何自定义模块别名？
  - 如何通过 define 配置项定义全局变量？
  - define 功能需要 @ray-js/cli 的最低版本是多少？
  - 如何用 @ 路径别名替代相对路径引用组件？
---

# 工程配置

用于声明工程编译时的配置信息。配置文件 `ray.config.ts` 位于工程根目录。

## resolveAlias

类型: `object`

模块别名，可用于构建时替换模块名，或缺省路径。默认支持 `{ '@': './src' }`。

```diff
- import Foo from '../../components/foo/index';
+ import Foo from '@/components/foo/index';
```

## define

> `@ray-js/cli` 1.5.26+

类型: `object`

定义全局变量，可用于构建时替换变量名。

```ts
const config: RayConfig = {
  define: {
    'process.env.NODE_ENV': 'production',
  },
};
```

## 示例

```ts
import {RayConfig} from '@ray-js/types';

const config: RayConfig = {
  resolveAlias: {
    '@': './src',
  },
  define: {
    'process.env.NODE_ENV': 'production',
  },
};

export default config;
```
