无法缩小Vue.js应用程序

Asa*_*ter 5 javascript minify vue.js

我有一个Vue.js应用程序,其中包含以下代码摘录:

(function() {
    initApp();
})();

function initApp() {
    window.myApp = new Vue({
        el: '#wrapper',
        data() {
		return {
		somedata: []
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

当我尝试缩小它时,它会因错误Error : Unexpected token: punc (()而失败,但应用程序运行成功.我不知道为什么?

acd*_*ior 6

那些压缩器只支持旧版本的JavaScript.他们的支持最多只限于ES5.要使代码正常工作,请将其转换为:

(function() {
    initApp();
})();

function initApp() {
    window.myApp = new Vue({
        el: '#wrapper',
        data: function() { // changed this line
            return {
                somedata: []
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

它应该压缩.


细节:

他们使用uglify-js: "^3.3.10",因为不支持ES6(uglify-es确实)而闻名.

他们的回购(强调我的):

UglifyJS 3

UglifyJS是一个JavaScript解析器,minifier,压缩器和美化工具包.

注意:
  • (......)
  • uglify-js 仅支持JavaScript(ECMAScript 5).
  • 要缩小ECMAScript 2015或更高版本,请使用像Babel这样的工具进行转换.