Angular2 / Webpack:如何正确加载压缩的bundle.js文件?

时间:2016-12-08 15:58:56

标签: angular webpack

我使用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

我认为这是标准方式......
为什么两个版本都应该存在?感谢您的反馈

1 个答案:

答案 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 $