我使用Webpack Compression插件来压缩我的bundle.js 我实际上有一个bundle.js.gz
然而,在运行应用程序时,我收到一条错误消息:
Refused to execute script from 'https://example.com/js/app/bundle.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
检查请求/回复标头,我可以看到请求标头正常
Request headers
Accept-Encoding:gzip, deflate, sdch, b
响应中的更多类型实际上是text / html而不是application / javascript
Response headers
Accept-Encoding:gzip, deflate, sdch, b
Content-Type:text/html; charset=utf-8
如何加载正确的bundle.js?
更新
当我的public / js / app目录中存在bundle.js和bundle.js.gz这两个版本时,它运行正常......令我惊讶的是这是服务的bundle.js.gz!
-rw-rw-r-- 1 platon platon 339K Dec 8 14:14 bundle.js
-rw-rw-r-- 1 platon platon **89K** Dec 8 14:14 **bundle.js.gz**
chrome dev工具中的:
名称。状态类型。发起者。 大小。时间 bundle.js 200 script(index):15 89.6 KB 1.52 s
我认为这是标准方式......
为什么两个版本都应该存在?感谢您的反馈
答案 0 :(得分:0)
webpack压缩插件没用。 一旦使用UglifyJsPlugin和webpack命令选项--optimize-minimize缩小,压缩/解压缩过程由Nginx执行
##
# Gzip Settings
##
gzip on;
gunzip on;
gzip_static on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript $