首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Ember CLI追踪Uglify错误

如何使用Ember CLI追踪Uglify错误
EN

Stack Overflow用户
提问于 2016-01-30 04:22:31
回答 2查看 656关注 0票数 3

当我在开发中构建我的Ember CLI应用程序时,它工作得很好。当我尝试为生产构建它时,Uglify感到不安:

代码语言:javascript
复制
$ ember build --environment=production
version: 1.13.15
Build failed.
File: assets/vendor.js (70503:3)
Unexpected token name «use», expected punc «,»
Error
    at new JS_Parse_Error (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:1508:18)
    at js_error (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:1516:11)
    at croak (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2008:9)
    at token_error (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2016:9)
    at expect_token (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2029:9)
    at expect (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2032:36)
    at expr_list (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2535:44)
    at subscripts (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2674:30)
    at subscripts (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2651:20)
    at expr_atom (eval at <anonymous> (/Users/michael/Code/queue/node_modules/broccoli-uglify-sourcemap/node_modules/uglify-js/tools/node.js:24:4), <anonymous>:2527:20)

我不知道这个错误是什么意思-- Unexpected token name «use», expected punc «,» --而且assets/vendor.js (70503:3)不是一个我在任何地方都能找到的文件。

如果有人能给我一个如何追踪这个错误的建议,我将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2017-01-21 07:54:07

我在这个话题上做了一些研究,因为我也患有“类似的东西”。

在我的ember项目中,我使用了ember-browserify,它负责将NPM脚本复制到vendor.js

事实证明,在执行此复制时,ember-browserify不会转换ES5/ES6脚本,并且uglify-js (插件崩溃)不支持ES语法。

您可以看到这个问题:https://github.com/ef4/ember-browserify/issues/97https://github.com/mishoo/UglifyJS2/issues/448

下面是我是如何解决这个问题的(出奇的简单)

在终端上:npm install --save-dev ember-browserify babelify babel-preset-es2015

environment.js

代码语言:javascript
复制
browserify: {
  extensions: ['.js'],
  transform: [
    ['babelify', { presets: ["es2015"]}]
  ]
},

现在,当您运行ember build --environment=production时,它不会抛出语法错误。

顺便说一下,我专注于这个奇怪问题的一个有用的方法是在命令行上全局安装uglifyjs,并手动运行它,直到我找到一个合理的行数来发现这个问题(let vs var)。

请记住,ember构建将仅在实际安装在node_modules中的内容上运行。在调试这个问题时,一个问题是在做一些试验/错误测试时安装了不同的版本。

票数 2
EN

Stack Overflow用户

发布于 2016-01-30 05:22:08

运行ember init并替换bower.jsonpackage.json使错误消失。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35093366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档