Webpack编码问题加上webpackJsonp没有定义
我一直在使用相同的webpack构build系统约一年,现在我一直得到以下错误,每2-3浏览器刷新。 我从来没有升级在这个版本运行的服务器上的node.json节点,npm或者其他东西。 如果有任何JS语法错误,当前的构build系统将不会成功。
错误:
- 无效或意外的标记(bundle-1.js)
- webpackJsonp没有定义(bundle-2.js)
当我检查bundle-1.js
,即使设置了EncodingPlugin
来编码UTF-8,我仍然看到以下编码问题:
我读过其他关于“webpackJsonp未定义”的SOpost,并尝试:
- 以不同的顺序加载我的依赖关系
- 将
minChuncks
的CommonsChunkPlugin
设置为Infinity
我正在使用以下软件版本:
- 节点v4.6.2
- npm v3.9.0
- webpack 1.10.1
- grunt webpack 1.0.11
- webpack编码插件0.2.1
任何帮助为什么这些错误出现在运行时表示赞赏。
以下组合解决了我的问题:
- 升级webpack到
1.12.9
-
添加编码插件,以及在
CommonsChunkPlugin
构造函数中将minChunks
参数设置为"Infinity"
new EncodingPlugin({ encoding: 'UTF-8' }), new CommonsChunkPlugin('shared', '<filename>.js', null, Infinity),
此外,服务于捆绑js的S3存储桶缺lesscontent-type
标题以及content-encoding
标题。 content-encoding
是最重要的,因为内容是用gzip
压缩的。 转移到一个新的桶帮助解决了这个问题。