流星错误'不能声明让两次'缩小时

时间:2017-12-04 11:27:52

标签: meteor safari ios10 minify

当缩小流星应用时,IOS 10上的 safari 会引发以下错误

SyntaxError: Cannot declare a let variable twice: 't'.

我试图删除标准拼接器并添加了abernix:standart-minifier,因为它被推荐on this comment - 它们在所有其他浏览器上都能正常工作,但在safari ios10上它会崩溃。

你有什么建议吗?

非常感谢

编辑:

我最后删除了minify包,因为它被提及here但是它绝对不是一个长期的解决方案。

1 个答案:

答案 0 :(得分:0)

这个ios10 safari bug的解决方案是 here

问题是由minify默认选项

引起的
safari10:false

解决问题

找到这些文件

<强> /Users/USER/.meteor/packages/abernix_standard-minifier-js/.2.1.0.1v4h096++os+web.browser+web.cordova/plugin.minifyStdJS.os/npm/node_modules/meteor /abernix_minifier-js/node_modules/uglify-es/lib/minify.js

<强> /Users/USER/.meteor/packages/abernix_minifier-js/.2.1.0.106pai4++os+web.browser+web.cordova/npm/node_modules/uglify-es/lib/minify.js

然后找到以下行并将其更改为&#34; safari10:true&#34;

if (options.mangle) {
        options.mangle = defaults(options.mangle, {
            cache: null,
            eval: false,
            ie8: false,
            keep_classnames: false,
            keep_fnames: false,
            properties: false,
            reserved: [],
            safari10: true,
            toplevel: false,
        }, true);
    }