我使用firebaseui,并且我需要to build it进行法语本地化,因为本地化版本未发布到npm。我当前的package.json
如下所示:
"dependencies": {
"firebaseui": "^3.5.2"
}
是否可以更改它,以便在firebaseui
上使用build-js-fr
参数构建npm install
?
答案 0 :(得分:1)
我们在this Github issue中可以找到:
[本地化]稍后可能会出现。
我不建议您使用自己的构建使用本地fork,因为您将与主存储库分离,从而失去升级等功能。但是,对此问题的评论建议使用patch-package
,这是一个npm模块,可让您制作“创可贴”。对我来说似乎很好。
所以我建议以下计划:
firebaseui
文件夹内更新node_modules
的构建方式。 npx patch-package firebaseui
,将创建一个paches/firebaseui-3.5.2.patch
。 npm i
上获得补丁。firebaseui
库一旦正确使用,就放弃补丁。答案 1 :(得分:1)
这是一个更直接的解决方案,我不建议这样做,它只是一个概念证明,可以帮助您入门,但是您可以在postinstall
中使用package.json
脚本来执行{ {1}}。
您会遇到这样的事情:
npm i
创建"script": {
"postinstall": "./postinstall.sh",
}
脚本并使其可执行:
postinstall.sh
然后,您可以克隆存储库并直接构建它,下面是一个示例touch postinstall.sh
chmod u+x postinstall.sh
:
postinstall.sh
但是这将花费很多时间。 Marcel Falliere's solution听起来更好。我尝试从#!/usr/bin/env bash
git clone https://github.com/firebase/firebaseui-web.git
cd firebaseui-web
git checkout v3.5.2
npm i
for language in fr en es
do
npm run build build-js-$language
done
的{{1}}文件夹运行build命令。您需要firebaseui
,但由于缺少node_modules
而会遇到错误。
我测试了上面在github上发布的解决方案:
https://github.com/GabLeRoux/npm-build-firebaseui-postinstall-example
请注意,这可能会在Windows上失败。这只是概念证明