2016-08-03 14 views
0

約1年前、私はMeteorを使用しましたが、今度は再び使用したいと思いますが、多くの変更があります。 メテオでパッケージインポートが必要な理由

私はMeteor.com上ブレイズのチュートリアルに従う

は、彼らが自分のファイルの上に輸入を追加します。

import { Meteor } from 'meteor/meteor'; 
import { Template } from 'meteor/templating'; 
import { ReactiveDict } from 'meteor/reactive-dict'; 

私が働いてアプリを得ました。しかし、私が輸入品をコメントアウトすると、アプリはうまくいくように機能し続けます。これらの輸入はなぜ必要なのですか?

私はまだES6ではなく、通常のJavascriptを使用しています。

ありがとうございます!

+1

ES6を使用していない場合、それを認識するモジュールバンドラを持たない限り、インポート構文を使用できません。 – gcampbell

+0

ああ、私はすでにES6で何かをしなければならないと思っていました。しかし、輸入を使用する主な利点は何ですか? – coder14

+0

Meteorに特有のものではありませんが、不要なものを取り除くために* tree-shaking *を使うRollupというモジュールバンドラーがあり、ES6モジュールでのみ動作します。それをチェックしてください、それは最高です;) – gcampbell

答えて

3
などimport文は、外部モジュールからエクスポートされた関数、オブジェクトまたはプリミティブをインポートするために使用され

、別のスクリプト、

nameパラメータは、エクスポートされたメンバーを受け取るオブジェクトの名前です。メンバパラメータは個々のメンバを指定し、nameパラメータはそれらをすべてインポートします。モジュールが一連のメンバではなく単一のデフォルトパラメータをエクスポートする場合、nameも関数である可能性があります。以下は、構文を明確にするための例です。

モジュール全体の内容をインポートします。これにより、 "my-module.js"からエクスポートされたすべてのバインディングを含むmyModuleが現在のスコープに挿入されます。

輸入方法と使用方法の詳細については、thisをご確認ください。

1

彼らは下位互換性のために古いグローバルを使用します。ただし、インポートを使用することをお勧めします。今後のリリースでは、コードが引き続き動作するグローバルを削除する予定です。 appropriate section of the guideで詳しく読むことができます。

+0

大丈夫ですか? – coder14

+0

それは私がそれを取る。しかし、私は彼らがグローバルを削除するとは思わない。 –

1

importは、すでに別のファイルからエクスポートされたオブジェクトをインポートすることがわかりました。

あなたが見逃した点は、MDGがデフォルトですべての読み込みを停止する必要性を聞いたことです。少なくとも、メモリに読み込まれているものとそうでないものを制御する手段を提供する必要があります。

/imports専用ディレクトリを探します。

このフォルダ内のファイルは、自動的に読み込まれなくなりますが、import文によってのみ読み込まれます。

このチュートリアルでは、この機能については説明していないと思いますし、下位互換性のために熱心に読み込まれている標準機能だけをインポートするため、これらのステートメントを削除することはありません。

+0

../api/tasksから 'import {Tasks} 'を使って/ importsフォルダから他のファイルをインポートしています。論理的に聞こえるが、どうしても何もしなければ 'meteor/meteor ';からimport {Meteor}のようなパッケージをインポートすべき理由は分からない。 – coder14

+0

私は、ショーン・ヘイズの言葉通り、良い練習と「ちょうどいいです」と言っていますか? – ghybs

関連する問題