私は自分のコードのいくつかでNodeバージョン6.2.1を使用する実験をしていました。ハイパーコールバック指向のコードのほとんどを、見た目が良く、パフォーマンスの良いものに移行する予定でした。
ノードコードを実行しようとすると、ターミナルがエラーをスローする理由がわかりません。
helloz.js
(async function testingAsyncAwait() {
await console.log("Print me!");
})();
ログ-
BOZZMOB-M-T0HZ:rest bozzmob$ node helloz.js
/Users/bozzmob/Documents/work/nextgennms/rest/helloz.js:1
(function (exports, require, module, __filename, __dirname) { (async function testingAsyncAwait() {
^^^^^^^^
SyntaxError: Unexpected token function
at Object.exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:513:28)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:458:32)
at tryModuleLoad (module.js:417:12)
at Function.Module._load (module.js:409:3)
at Function.Module.runMain (module.js:575:10)
at startup (node.js:160:18)
at node.js:456:3
BOZZMOB-M-T0HZ:rest bozzmob$ node -v
v6.2.1
何が欠けていますか?同じように私にいくつかの光を投げてください。
更新1:
クエンティンが示唆するように私はバベルを使用しようとしましたが、それでも次のエラーが発生します。
更新されたコード
require("babel-core/register");
require("babel-polyfill");
(async function testingAsyncAwait() {
await console.log("Print me!");
})();
ログ-
BOZZMOB-M-T0HZ:rest bozzmob$ babel helloz.js > helloz.trans.js
SyntaxError: helloz.js: Unexpected token (3:7)
1 | require("babel-polyfill");
2 |
> 3 | (async function testingAsyncAwait() {
| ^
4 | await console.log("Print me!");
5 | })();