【发布时间】:2020-01-10 17:05:38
【问题描述】:
我有一个 Angular 8 应用程序,我一直在我的本地主机上服务来构建它,在这个应用程序中,我使用了一个 NPM 包 (https://www.npmjs.com/package/rb-fab-speed-dial),我稍微修改了一下(我只是将 mat-fab 更改为mat-mini-fab 和 css 的 2 个属性),它工作得很好。现在它已经变成芬兰语了,我正在服务器上对其进行测试,所以我使用
构建了我的应用程序ng 构建 --prod
它不再使用我修改过的代码,因为它在构建时重新安装了原始版本。
我会要求这个 repo 的合作者进行更改,但它最后一次发布是在 2 年前,我认为他现在不会帮助我。 如果只是为了css,“!important”属性做得恰到好处,但我需要在模板中将mat-fab修改为mat-mini-fab。
当然我可以修改构建的捆绑js,但这并不实用。
我想知道是否有办法仅在本地修改它,或者,如果需要,由于没有托管原始文件的 github,如何分叉包以使修改出现在构建的应用程序中?
提前致谢!
【问题讨论】:
-
你不能写一个后期构建脚本来用你更新的文件替换原始文件吗?
-
感谢您的回答,我正在查看构建后脚本!
-
实际上刚刚意识到那会很痛苦。最好在安装后进行,即在
npm install之后,因为构建后它都会被编译。 -
我遇到了同样的问题并解决了它,将修改后的文件复制到安装后脚本的包文件夹中:
"postinstall": "cp myFile.js node_modules/package/path/" -
@VictorOliveira 感谢您的回答,但我不确定我是否理解,您修改后的文件会被复制到 node_modules 吗?即使构建后不再有 node_modules ?或者 postInstall 可能发生在捆绑程序之前?
标签: angular npm node-modules