Javascript 吞食次级资产

Javascript 吞食次级资产,javascript,css,gulp,bower,assets,Javascript,Css,Gulp,Bower,Assets,我把我所有的JS和CSS编译成组合文件,并输出到/public/assets/JS/application.JS或/public/assets/JS/application.CSS 这一切都很好,但像链接文件的URL路径(如CSS背景图像等)现在不再起作用 由于这些链接的资产位于我的/vendor/assets/bower components目录中,我不能仅仅重写路径,因为/vendor无法通过web访问。我想做的是浏览CSS和JS编译的文件,找到所有链接的资产引用,找到它们并将它们放在/pu

我把我所有的JS和CSS编译成组合文件,并输出到
/public/assets/JS/application.JS
/public/assets/JS/application.CSS

这一切都很好,但像链接文件的URL路径(如CSS背景图像等)现在不再起作用

由于这些链接的资产位于我的
/vendor/assets/bower components
目录中,我不能仅仅重写路径,因为
/vendor
无法通过web访问。我想做的是浏览CSS和JS编译的文件,找到所有链接的资产引用,找到它们并将它们放在
/public/assets/

然后重写到新位置的路径

我需要的是找到所有引用的方法(主要是CSS),但也可以是JS。抓取该文件,检查其文件类型,将其放入
/public/assets
文件夹中,然后重写原始文件路径

你打算怎么做?我意识到我可以使用像gulp repace等插件,但不知道如何做“找到这个东西,去拿那个文件并用它做点什么”之类的事情

举个例子会很有帮助


谢谢

我正要建议你自己做,但后来我发现
gulp bower fix css path

显然,它是一个(还不是很流行)工具,可能适合您的项目需要:

此模块修复(重新组织)来自bower installer的css资产路径。指定public/vendor的绝对路径文件夹,并修复所有路径(字体、IMG、SVG)

与bower(bower安装工具)结合使用的小型工具模块。修复项目所依赖的所有不同存储库中的所有css路径(字体/图像等资产)


也就是说,我建议您尝试使用该lib并对其进行自定义(如果需要),然后再发出请求。否则,您将需要从头开始实现所有这些。

我可能会为您准备一些东西,您的bower组件中有什么?你的图像结构是什么样子的?与其说是胡说八道,不如把你的资产放在我可以上网访问的供应商目录之外的某个地方。这看起来真是太完美了。今晚我会更深入地调查此事,并在接下来的几天里汇报!还有@AndreFigueiredo Nice:)尽管
gulp rev replace
在大多数情况下非常有用,而且更受欢迎,它只是替换URL路径,重点是替换到修改的依赖项的链接-注意,它不会将指定依赖项中的已用资产移动到某个目标目录,并按照OP的要求将其lint重写到新路径。