我正在使用r.js优化/ uglify我使用RequireJS的JavaScript代码。
我的一个模块是polyfill模块:
define(function(){
if (!Array.prototype.filter)
{ /* ... */ }
var isPolyfillNeeded = function () { /* ... */ }
if (isPolyfillNeeded()) {
/* polyfill implementation */
}
});
该模块在尝试uglify时会导致r.js抛出解析错误,并说:
Tracing dependencies for: ../scripts/main-app
Error: Parse error using UglifyJS for file: C:/.../polyfill.js
Unexpected character '?' (line: .., col: .., pos: ..)
undefined
In module tree:
../scripts/main-main-app
moduleA
moduleB
将var isPolyfillNeeded = function ()
替换为function isPolyfillNeeded()
时,效果正常。
那是为什么?
答案 0 :(得分:2)
问题是我的代码隐藏在某处的一个坏角色,因为我从一些代码片段中复制粘贴。它是看不见的,所以很难发现。