简体   繁体   中英

nodejs SyntaxError: Unexpected token

I am using elasticsearch-exporter to export data from Elasticsearch .

The tool initially is a nodejs application.

When I try to use the following command node exporter.js to make the tool list all the available options, it crashes with the following exception

/home/me/storage/Elasticsearch-Exporter/log.js:54
exports.error = (...args) => !capture("ERROR", args) && console.log(timestamp() + util.format(...args).red);
                 ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/anas/storage/Elasticsearch-Exporter/exporter.js:9:11)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)

here is the line where the exception is thrown

exports.error = (...args) => !capture("ERROR", args) && console.log(timestamp() + util.format(...args).red);

I think the error is related to a different version of nodejs but I am not sure.

Here is the output of the node --version command v4.2.6

Here is the output of the npm --version command 3.10.6

Yes, indeed, ... is called the spread operator and is only available since Node.js 6

The elasticsearch-exporter project declares in its package.json file that it only works with node version > 6

So since you're running Node.js 4.2.6, you either need to upgrade your Node.js installation or fork the elasticsearch-exporter project and modify it to work with Node.js 4.2.6.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM