我不知道如何把这个问题仅仅放在帖子标题里,下面是完整的故事:
我正在处理一个shopify主题,对于我总是必须保存我的CSS更改、切换浏览器选项卡并点击reload来查看我所做的事情(是的,我确实发现了检测本地变化并上传它们的主题gem,但这并不能让我重新加载.),这让我有点恼火。
因此,我的计划是想出一个杯状的任务,做以下工作:
我现在面临的麻烦是shopify上传立即将资产更改为cdn,并在预览主题时从那里加载它们。由于css是来自不同的域,所以我想浏览器同步不再识别该文件,并且使用要注入的更改覆盖该文件。
因此,余下的问题如下:
如果我的主题预览url被代理到像http://localhost:3000这样的本地地址,我可以让浏览器同步在https://cdn.shopify.com/s/files/1/0878/7368/t/2/assets/style.css?12713062062911383123这样的地方加载css文件,让浏览器同步用要注入的更改覆盖该文件吗?
希望我在这里讲得通。
发布于 2020-08-17 04:36:25
我能够实现您所描述的使用浏览器同步的rewriteRules选项。
rewriteRules: [
{
match: /\/\/cdn\.shopify\.com\/s\/files\/(.*)\/assets\//g,
replace: '/assets/'
}
],这将拦截对https://cdn.shopify.com/s/files/1/0878/7368/t/2/assets/style.css?12713062062911383123的请求,并将其替换为仅使用style.css?1271306206291138312,这取决于您的本地设置可能或可能需要进一步调整。
不要忘记根据您的项目需求设置bsFiles、proxy、serveStatic、serveStaticOptions等选项。
https://stackoverflow.com/questions/31070841
复制相似问题