1. ホーム
  2. javascript

[解決済み] ES2015 の "import" が node v6.0.0 の --harmony_modules オプション付きで機能しない。

2023-07-17 13:29:34

質問

node v6.0.0 を使用しており、ES2016 (ES6) を使用したいと考えています。しかし、"import" 構文が機能しないことに気づきました。ES2015でモジュール化されたコードを書くためには、"import"が基本ではないのでしょうか?私は、nodeを --harmony_modules オプションをつけてnodeを実行してみましたが、やはり "import"に関して同じエラーが出ました。以下はそのコードです。

import"なしで動作するコードです。

'use strict';
let sum = 0;
class Number {

  addNumber(num1, num2) {
    return num1 + num2;
  }
}
let numberObj = new Number();
sum = numberObj.addNumber(1,2);
console.log("sum of two number 1 and 2 "+ sum);

import"を使ったノットワーキングコードです。

server.js

'use strict';
import Number from "./Number";

let sum = 0;


let numberObj = new Number();

sum = numberObj.addNumber(1,2);
console.log("sum of two number 1 and 2 "+ sum);

数.js

'use strict';
export default class Number {

  addNumber(num1, num2) {
    return num1 + num2;
  }
}

また http://node.green/ を確認しましたが、なぜ --harmony_modules オプションで動作しないのか理解できません。よろしくお願いします。

どのように解決するのですか?

まだ実装されていないだけです。

Node 6.0.0では、ES6のほとんどの機能が完成したバージョンのV8を使用しています。残念ながら、モジュールはそれらの完成された機能の一つではありません。

node --v8-options | grep harmony 

進行中 調和フラグは完全には実装されておらず、通常は動作しません。

--es_staging (テストに値するハーモニー機能を有効にする ( 内部使用のみ ))

--harmony (完成したすべてのハーモニー機能を有効にする)

--harmony_shipping (出荷されたすべてのハーモニー機能を有効にする)

--harmony_object_observe (enable "harmony Object.observe") ( 進行中 ))

--harmony_modules (有効化 "ハーモニーモジュール" ( 進行中 ))

--harmony_function_sent (enable "harmony function.sent" ( 実行中 ))

--harmony_sharedarraybuffer (enable "harmony sharedarraybuffer" ( 実行中 ))

--harmony_simd (enable "harmony simd" ( 実行中 ))

--harmony_do_expressions (enable "harmony do-expressions" ( 進行中 ))

--harmony_iterator_close (enable "harmony iterator finalization" ( 実行中 ))

--harmony_tailcalls (enable "ハーモニーテールコール"( 実行中 ))

--harmony_object_values_entries (enable "harmony Object.values / Object.entries" ( 進行中 ))

--harmony_object_own_property_descriptors (enable "harmony Object.getOwnPropertyDescriptors()" ( 実行中 ))

--harmony_regexp_property (enable "harmony unicode regexp property classes" ( 進行中 ))

--harmony_function_name (和声関数名推論を有効にする")

--harmony_regexp_lookbehind (enable "harmony regexp lookbehind")。

--harmony_species (enable "ハーモニー Symbol.species")

--harmony_instanceof (enable "ハーモニー・インスタンス・オブ・サポート")

--harmony_default_parameters (enable "ハーモニーデフォルトパラメーター")

--harmony_destructuring_assignment (有効 "harmony destructuring assignment")

--harmony_destructuring_bind (enable "harmony destructuring bind")。

--harmony_tostring (有効 "harmony toString")

--harmony_regexps (enable "ハーモニー正規表現拡張")

--harmony_unicode_regexps (enable "harmony unicode regexps")

--harmony_sloppy (sloppyモードでのharmonyの機能を有効にする")

--harmony_sloppy_let (enable "ハーモニー・レット、sloppy モードで使用可能")

--harmony_sloppy_function (enable "harmony sloppy function block scoping")

--harmony_proxies (有効 "harmony proxies")

--harmony_reflect (有効化 "harmony Reflect API")

--harmony_regexp_subclass (正規表現のサブクラス化を有効にする)