我需要缩小所有js文件(使用Adobe Experience Manager)文件夹'js',它也由'angular.min.js'组成。在控制台中缩小错误“拒绝执行,因为它的MIME类型('text/html')不可执行,并且启用了严格的MIME类型检查”
虽然试图做到这一点,它抛出Chrome的误差
拒绝执行脚本“angular.min.js”,因为它的MIME类型(文本/ html')不是可执行文件,严格的MIME类型检查已启用。
我该如何解决这个问题?
我需要缩小所有js文件(使用Adobe Experience Manager)文件夹'js',它也由'angular.min.js'组成。在控制台中缩小错误“拒绝执行,因为它的MIME类型('text/html')不可执行,并且启用了严格的MIME类型检查”
虽然试图做到这一点,它抛出Chrome的误差
拒绝执行脚本“angular.min.js”,因为它的MIME类型(文本/ html')不是可执行文件,严格的MIME类型检查已启用。
我该如何解决这个问题?
我建议你从你自己的客户端库中分离第三方库,如Angular。因为您通常不希望缩小这些第三方库,但您确实想要缩小自己的客户端库。
例子:
etc/
├── clientlibs/
| └── myproject/
| └── vendor/
| └── angular/
| ├── angular.min.js
| ├── .content.xml
| └── js.txt
└── designs/
└── myproject/
└── myclientlib/
├── js/
| └── myclientlib.js
├── .content.xml
└── js.txt
然后,你可以使用以下clientlib定义:
/etc/clientlibs/myproject/vendor/angular/.content.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:ClientLibraryFolder"
categories="[myproject.angular]"
jsProcessor="[default:none]"/>
的jsProcessor="[default:none]"
禁用缩小。
/etc/designs/myproject/myclientlib/.content.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:ClientLibraryFolder"
categories="[myproject.myclientlib]"
jsProcessor="[min:gcc]"/>
的jsProcessor="[min:gcc]"
由谷歌关闭编译器能够缩小。
您可以轻松地使用这两个clientlibs在你的HTL(原悦目)模板:
<sly data-sly-use.clientlib="/libs/granite/sightly/templates/clientlib.html">
<sly data-sly-call="${clientlib.js @ categories='myproject.angular'}"/>
<sly data-sly-call="${clientlib.js @ categories='myproject.myclientlib'}"/>
</sly>
注意:您可以选择clientlib类别名称myproject.angular
和myproject.myclientlib
自如。在我的示例中,您不必使用这些名称。但我会建议使用某种名称空间,如myproject
。
非常感谢!它的工作..但ngStorage也是罪魁祸首....我复制ngStorage.js而不是ngStorage.min.js。 – Sunny