2017-12-25 12 views
1

import {thing} from 'module'またはconst {thing} = require('module')があり、const thing = require('thing')を使用してthing.method()を使用することもできますが、すべてのエクスポートをモジュールでインポートすることができます(方法はPythonでimport * from 'lib')。 method()インポートに指定しないでください。nodejsの 'module'からimport *に相当するものはありますか?

+0

'import *は 'module'からメソッドとして、モジュールからのすべてのエクスポートを含む' methods'という名前のオブジェクトを作成します。グローバル名前空間に直接インポートしてアタッチする方法はありません。 –

+0

Damn。私はこれを閉じることができるようにこれを答えに入れることができます。 – Besto

+0

申し訳ありませんが、私はこれがJSの場合の理由について少し説明して答えを書きました。 –

答えて

1

それは、その性質としてutilsモジュールからすべてのエクスポートを持つことになりますUtilsと呼ばれるオブジェクトを作成します構文

import * as Utils from 'utils'; 

これでモジュールからすべてのエクスポートをインポートすることが可能です。


JSでは、スコープ付き変数をそのスコープ内で明示的に宣言する必要があります。明示的に宣言されていない変数への参照は、グローバル名前空間のプロパティとみなされます。そのため、import * from 'module'のような構文はPythonと同じように動作しません。個々のインポートが明示的に宣言されていないので、唯一の選択肢は、名前空間接頭辞なしでグローバル名前空間にメンバーとして追加することであり、モジュールを持つ目的を無効にします。

0

import * as 'module'からのメソッドは、モジュールからのすべてのエクスポートを含むmethodsという名前のオブジェクトを作成します。グローバル名前空間に直接インポートしてアタッチする方法はありません。 - まあまあ!

関連する問題