# @ecl/builder 中文文档

规范地址：https://npmcn.com/package/%40ecl/builder/

版本：5\.4\.1
npm 元数据更新时间：2026-11-10T09:35:00.569Z
中文译文更新时间：2026-11-13T05:11:18.904Z
软件包许可：EUPL-1\.2

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ecl/builder
原文对照：https://npmcn.com/package/%40ecl/builder/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：32.2 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.12\.0
- 运行依赖：25 个
- 首次发布：2018-03-13T14:02:09.011Z
- 最新版本发布：2026-11-10T09:35:00.103Z
- 近 30 天下载量：6119（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：168（近 12 个月 25 个）

## 中文简介

Europa 组件库构建器

## 安装

```sh
npm install @ecl/builder
```

也可以使用：`pnpm add @ecl/builder`、`yarn add @ecl/builder`、`bun add @ecl/builder`

## README

# ECL 构建器

## 配置

默认情况下, ecl-builder 会读取 `ecl-builder.config.js` 文件位于根 你的项目。 你可以用这个 `-c` 或者说 `--config` 如果您想要参数 给您的配置文件另一个名称.

通常,这应该是:

```js
const path = require('path');
const isProd = process.env.NODE_ENV === 'production';

module.exports = {
  // Compile entry.js
  scripts: [
    {
      entry: path.resolve(__dirname, 'src/entry.js'),
      dest: path.resolve(__dirname, 'dist/output.js'),
      options: {
        sourceMap: isProd ? false : 'inline',
        moduleName: 'myModule',
      },
    },
  ],
  // Compile entry.scss
  styles: [
    {
      entry: path.resolve(__dirname, 'src/entry.scss'),
      dest: path.resolve(__dirname, 'dist/output.css'),
      options: {
        sourceMap: isProd ? 'file' : true,
        minify: true,
      },
    },
  ],
  // Copy files from src to dest
  copy: [
    {
      from: path.resolve(__dirname, 'src/fonts'),
      to: path.resolve(__dirname, 'dist/fonts'),
    },
    {
      from: path.resolve(__dirname, 'src/images'),
      to: path.resolve(__dirname, 'dist/images'),
    },
  ],
};
```

## 监视模式

ECL构建器在浏览器同步上提供薄薄的包装,以方便使用上述资产进行开发工作流程.

示例配置 :

```javascript
{
    init: {
      proxy: `${app.host}:${app.port}`,
    },
    handlers: [
      {
        pattern: `./(dev|ec-core)/src/*.scss`,
        events: [
          {
            on: 'change',
            name: 'dev/ec-core presets scss changes',
            command: 'npm run build:styles',
            message: 'New styles ready',
            reload: '*.css',
          },
        ],
      },
    ]
}
```

对象传递到 `init` 合并到同一处 [来自浏览器同步的方法](https://browsersync.io/docs/api#api-init). ECL 使用 `proxy` 但这可能是其他应用程序,如Drupal网站.

`handlers` 定义事件处理者产卵列表 [`.watch()` 任务](https://browsersync.io/docs/api#api-watch)。 。 。 .

值为 `on` 属性匹配 [chokidar的事件](https://github.com/paulmillr/chokidar#getting-started)。 。 。 .

`reload` 与 [浏览器同步 `reload()`](https://browsersync.io/docs/api#api-reload)。它是可选的,在与样式变化有关的处理器中可能最有用 `reload("*.css")`。在所有其他情况下,以空参数传递函数将导致全页重载.

## 常见问题

### @ecl/builder 是什么？

Europa 组件库构建器

### 如何安装 @ecl/builder？

在项目目录运行 npm install @ecl/builder，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ecl-builder，可以用 npx ecl-builder 直接运行。

### @ecl/builder 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ecl\_\_builder 是否存在。

### @ecl/builder 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @ecl/builder 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @ecl/builder 可以商用吗？

@ecl/builder 使用 EUPL-1\.2 许可。声明的许可为 EUPL-1\.2，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @ecl/builder 的下载量有多少？

根据 npm 官方下载统计，@ecl/builder 在 2026/10/13 – 2026/11/11 这 30 天内被下载 6,119 次，日均约 204 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ecl/builder 还在维护吗？

最新版本 5\.4\.1 发布于 2026/11/10（3 天前）；至今共发布 168 个版本，其中过去 12 个月发布了 25 个；首次发布于 2018/03/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

