我需要縮小所有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