【发布时间】:2020-06-18 01:44:02
【问题描述】:
我有一个使用 ParcelJS 的 TypeScript/React 网络应用程序,我希望在构建过程中有一个步骤或使用包含 git 信息的资源文件的简单方法。
不确定在构建过程中是否有东西可以生成git 信息,我正在使用npm 来启动包裹。
如果 parcel 可以加载资源文件并使其可访问,这也可以通过具有属性来工作。
我的最终目标是在 webapp 中显示版本和 git 提交点。
【问题讨论】:
我有一个使用 ParcelJS 的 TypeScript/React 网络应用程序,我希望在构建过程中有一个步骤或使用包含 git 信息的资源文件的简单方法。
不确定在构建过程中是否有东西可以生成git 信息,我正在使用npm 来启动包裹。
如果 parcel 可以加载资源文件并使其可访问,这也可以通过具有属性来工作。
我的最终目标是在 webapp 中显示版本和 git 提交点。
【问题讨论】:
我假设您使用的是 parcel2(我不确定这在 parcel1 中是否可行)。
Parcel2 默认使用 babel 转译 typescript(通过@parcel/transformer-babel 插件)。这个插件的 babel 配置可以通过简单地包含 .babelrc(仅与项目的子集相关的配置)或 babel.config.json 文件(适用于整个项目的配置)来覆盖。请参阅我在修复this bug 的过程中制作的this scenario matrix,以了解有关包裹应该提取哪些 babel 配置文件的详细信息。 (从最新的夜间版本开始,“提议的修复”已合并到 parcel2 中)。
有了提供你自己的 babel 配置的能力,你应该能够使用this babel plugin 将 git 存储库信息注入到你的代码中。
(由于您使用的是 typescript,因此您还需要确保在 babel 配置中也包含 @babel/preset-typescript 或 @babel/plugin-transform-typescript)。
【讨论】: