以前:
var debug = require('debug')('http')
, http = require('http')
, name = 'My App';
Es6では、最初の行のようにすぐにインポートして呼び出すにはどうすればよいですか?
import debug from 'debug'();
ノーですか?
次の2行が必要です。
import debugModule from 'debug';
const debug = debugModule('http');
インポート構文は宣言的なインポート構文であり、関数を実行しません。
ノーですか?
正しい。 import
ステートメントは、単純なrequire()
ステートメントよりも類似していることに注意してください。これは、「ロードされた」モジュールのローカル変数へのバインディングも作成します。
あれは、
import debug from 'debug'();
...行動/意味論により近い
var debug = require('debug');
...それは単純に
require('debug');
Commonjsスタイルのモジュールローダーとの類推は、ある時点で明らかに壊れますが、その日の終わりには、import debug from 'debug'
は、実際に呼び出すことができる(または参照する)ものには解決されません。