【发布时间】:2017-05-06 09:22:32
【问题描述】:
我已经完成了一个项目,现在是时候构建它了。我正在使用样板项目,但仍然不完全了解引擎盖下发生的所有 npm/webpack 内容。运行“npm start”时,我收到错误:
ERROR in bundle.js from UglifyJs
SyntaxError: Unexpected token: punc ()) [bundle.js:848,29]
在互联网上搜索了一个小时后,我仍然无法解决它。据我了解,这个问题的发生是因为 Uglify 还不喜欢 ES2016。但是,我在互联网上找到的解决方案似乎不起作用或对我来说没有足够的意义来实施。
我找到了这个 stackoverflow question 并将我项目的 package.json 文件中的 webpack 行更改为:
"webpack": "fulls1z3/webpack#v2.1.0-beta.27-harmony"
但这没有用。分叉 webpack 的另一个建议目前超出了我的理解。
我还尝试根据另一个建议在我的 src 文件夹上运行 babel,但这似乎没有任何作用,或者我运行不正确。
有没有人能很好地解决这个问题?我现在很困惑,还没有时间从头开始学习 npm/webpack 以完全掌握正在发生的事情。
非常感谢!
【问题讨论】:
-
究竟是什么样板以及 npm start 下的 package.json 中有什么?
-
github.com/developit/preact-boilerplate 并且 package.json 文件可以在上面的链接中找到。谢谢!
-
我建议您从一个没有样板的裸项目重新开始,然后慢慢构建到所需的最低复杂度。如果没有,您将需要学习如何调试构建系统。这就像调试一个程序,只是它的一系列命令/程序在 shell 中运行。
-
即使有人解决了这个确切的问题,你也会因为你不了解它是如何工作的项目而被搞砸的。您可能会回到 babel 问题并发布一个包含这些详细信息的新问题。但最好从简单的事情从头开始。这就是我不推荐样板项目的原因。
-
我绝对打算回到超级基础并学习 npm、webpack、package.json 等。我真的希望我可以解决这个问题而不必这样做,但如果没有人有有什么想法,那就是我要做的。
标签: javascript node.js npm webpack uglifyjs