当我尝试使用 gulp 和 uplift-js 构建项目时代码失败

Code failure when I try to build project with gulp and uplift-js

我正准备使用 gulp 和 uglify-js 构建我的项目,但它失败了,无法构建。而且我找不到这个小代码片段有什么问题。

函数:

function getOneSignalToken() {
    window.bridge.post('onesignaltoken', {},     (results, error) => {
         $('#onesignal_token').html(results.token);
    });
}

错误

events.js:160
  throw er; // Unhandled 'error' event
  ^

错误 在新的 JS_Parse_Error (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :1545:18 评估) 在 js_error (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :1553:11 评估) 在嘎嘎声(评估在(/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1),:2092:9) 在 token_error (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2100:9 评估) 意外(在(/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1),:2106:9处评估) 在 expr_atom (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2633:9 评估) 在 maybe_unary(在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1) 处评估,:2795:19) 在 expr_ops (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2830:24 评估) 在 maybe_conditional (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1),:2835:20 评估) 在 maybe_assign (在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2859:20 评估) 在 maybe_assign(在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1) 处评估,:2867:32) 在表达式(在(/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1),:2878:20处求值) 在 expr_list(在 (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1) 处评估,:2644:24) 在下标处(eval at (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2778:30) 在下标处(eval at (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2755:20) 在下标处(eval at (/Users/erik/Desktop/Erik/code/nat5/node_modules/uglify-js/tools/node.js:28:1), :2755:20) Eriks-MacBook-Pro:nat5 erik$

正如@peter sad.. 这解决了问题:

function getOneSignalToken() {
    window.bridge.post('onesignaltoken', {}, function(results, error){
         $('#onesignal_token').html(results.token);
    });
}

转换为 es6/es2015 之前的语法

(results, error) => {...}

会变成

function(results, error) {...}

要将 gulp 与新样式 es2015 一起使用,请参阅:https://markgoodyear.com/2015/06/using-es6-with-gulp/

如果您想升级 uglify-js 以支持 es6,请使用 uglify-es npm 包:https://www.npmjs.com/package/uglify-es