dojo dragon main logo

脱离 Dojo 构建管道

Dojo 的构建管道为项目提供了一个端到端的工具链,但是,在极少数情况下,可能需要自定义工具链。只要将项目脱离 Dojo 的构建管道,就可以自定义工具链。

将项目脱离构建管道,是一个不可逆的、单向过程,它会导出 Webpack、Intern 以及 dojo 命令使用的其他项目的底层配置文件。如果提供的生成工具无法提供所需的功能或特性,推荐的方法是 fork 选定的构建命令,然后往工具中添加额外的功能。Dojo 的 CLI 本质上是专门按模块化设计的,考虑到了这个用例。

要将一个项目脱离出 dojo 构建管道,请使用 dojo eject 命令,它将提示你确实已明白过程是不可逆的。这个导出过程将所有已安装的 dojo 命令中导出的配置信息存到 config 文件夹中。这个过程也会安装一些项目需要的附加依赖。

现在项目已经是一个 webpack 项目。可以通过修改 config/build-app/base.config.js 来更改构建配置。

然后,可以通过运行 webpack 的构建命令并提供配置项来触发一个构建。此外,使用 webpack 的 env 标记(例如 --env.mode=dev)来指定模式,默认为 dist。

./node_modules/.bin/webpack --config=config/build-app/ejected.config.js --env.mode=[mode]