云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_外贸网站建设_优惠券

小七 141 0

人工智能开发_表较好的_物联网产业政策

在一个项目中,我们遇到了这样一个问题:当我们最小化JavaScript时,HTML被追加,导致JavaScript文件不再有效,永久免费的云服务器,浏览器无法评估JavaScript。

在这篇博文中,大数据风控,我想解释一下这个问题的行为和原因,以及我们如何解决这个问题。

Wro4j是通过wro.xml文件看到了吗(https://wro4j.readthedocs.io/en/stable/WroFileFormat/). 这里定义了Javascript文件和CSS文件,它们应该最小化。Wro4j还支持通过通配符加载资源的可能性(https://wro4j.readthedocs.io/en/stable/WildcardSupport/)

要加载资源,有多个资源定位器可用(https://wro4j.readthedocs.io/en/stable/ResourceTypes/). 基于wro.xml文件.

默认行为是使用ServletContextureLocator,它将通过dispatcher查找资源。如果无法加载文件,将尝试从外部加载具有当前请求上下文的文件。

这是Wro4j的一个功能,也提供了加载外部资源的可能性。为此,将使用UrlUriLocater。在此定位器中,将检查URL是否为通配符。不幸的是,该检查正在使用一个标记"enablewandcards",该标记被初始化为false(https://github.com/wro4j/wro4j/blob/v1.9.0/wro4j core/src/main/java/ro/isdc/wro/model/resource/locator/wildcard/WildcardUriLocatorSupport.java#L32)

第二个问题是超级方法"haswandcard"使用的模式也返回false if"HTTP"是URL的一部分(https://github.com/wro4j/wro4j/blob/b09a44747011006578d3a916fa464a39f633e860/wro4j core/src/main/java/ro/isdc/wro/model/resource/locator/wildcard/DefaultWildcardStreamLocator.java#L52).

因此以下URI用于检索外部资源:

https://localhost:9002/全部_responsive.js//ui/responsive/common/js/cms/*.js

Hybris

在Hybris中,大数据的趋势,未找到页面的默认行为是显示自定义404页面。这对于向用户显示一个漂亮的页面是必要的wro.xml文件来自Hybris OOTB的配置看起来是这样的:

通配符行

是从组件和/或其他店面加载项加载其他Javascript所必需的,国内云服务器哪家好,因此是店面定制工作的一部分。

问题

在wro.xml文件以下通配符无效已定义:

如果cms文件夹中不存在任何文件,将尝试通过外部定位器加载这些文件,大数据处理平台,从而产生如下URI:

https://localhost:9002/全部_responsive.js//ui/responsive/common/js/cms/*.js

不幸的是,如果调用的页面在hybris中不存在,返回的自定义404页带有代码200(确定),而不是HTTP状态404(未找到)。(见de.hybris.平台是的cceleratorstorefront.controllers.pages页面博士efaultPageController.java#获取)

这导致wro4j使用响应(以404页HTML的形式)并将它们附加到最小化的JavaScript中。

可能的解决方案