javascript-SyntaxError:意外令牌:punc())

我收到:

语法错误:来自UglifyJS的意外令牌:punc())

它指向全局变量API_URL的首字母.
我以这种方式实现:

export default reduxApi({
  campaigns: {
    url: `${API_URL}/api/v1/whatever`,
    transformer (response) {
      if (!response) return {}
      return response.data
    }
  } 
}).use('fetch', adapterFetch(fetch)).use('options', {
  headers: getRequestHeaders()
})

如果我删除关键URL下的全局变量:

export default reduxApi({
  campaigns: {
    url: `/api/v1/whatever`,
    transformer (response) {
      if (!response) return {}
      return response.data
    }
  } 
}).use('fetch', adapterFetch(fetch)).use('options', {
  headers: getRequestHeaders()
})

然后一切正常.有任何想法吗?为什么uglify会引发此类错误?

解决方法:

Uglify并不完全支持ES6,template literals included.您可以输入track the conversation on Github.有一个针对ES6支持的harmony branch.您可以通过将package.json条目替换为uglify使用以下分支:

"uglify-js": "git+https://github.com/mishoo/UglifyJS2.git#harmony"

或者,您可能希望在最小化之前先将代码传递给编译器.这样,所有语法都将是Uglify非常了解的ES5.如果希望某些ES6语法保持不变,则可能需要调整Transpiler配置.

上一篇:javascript-如何在Chrome API中使用react setState


下一篇:尝试调试React Native应用程序时如何解决NetworkError?