聚合物:硫化/缩小网站在Firefox中破坏它

时间:2015-12-18 15:41:09

标签: javascript firefox minify polymer-1.0

我有一个Polymer站点的自定义构建过程(Polybuild一直为每个人打破它)。它将入口点带入我的应用程序并通过Worker和缩小器运行它们。输出是一个平坦的html文件,其中大部分缩小。 CSS没有缩小,因为minifier打破了新的语法。

输出HTML在Chrome中正常运行,但在Firefox中不起作用。该站点未加载,并在控制台中记录以下内容:

vulcanize

你能告诉我为什么构建的版本不能在一个浏览器中工作但在另一个浏览器中工作,为什么Firefox会失败?我在Chrome中没有收到这些错误。

我的构建过程如下:

build.sh

TypeError: document.registerElement is not a function
 localhost:3000:1:4877
TypeError: Polymer.Base._getExtendedPrototype is not a function
 localhost:3000:1:1090
TypeError: this._desugarBehaviors is not a function
 localhost:3000:1:2359
<snip repeated desugarBehaviors error>

缩小-html.js

#!/bin/bash

build_html ( ) {
  ./node_modules/.bin/vulcanize --inline-css --inline-scripts $1.html > build/$1.pre.html
  ./minify-html.js build/$1.pre.html build/$1.html
}

echo 1. clean build dir
rm -r ./build
mkdir build

echo 2. copy assets in background
cp -r assets/ build/ &

echo 3. vulcanize and minify entry points
build_html index
build_html register
rm build/*.pre.html

echo 4. copy polyfills
mkdir -p ./build/bower_components/{classlist,webcomponentsjs}
cp ./bower_components/classlist/classList.min.js ./build/bower_components/classlist
cp ./bower_components/webcomponentsjs/webcomponents-lite.min.js ./build/bower_components/webcomponentsjs
cp ./bower_components/webcomponentsjs/webcomponents.min.js ./build/bower_components/webcomponentsjs

1 个答案:

答案 0 :(得分:1)

您很可能错过了webcomponents库,这可能会在某些浏览器上填充registerElement。确保您在任何需要的地方导入它。