0

モジュールを meteor シェルにインポートするのに問題があります。

簡単な例:

1.新規プロジェクトの作成 (meteor create myproject)

2. ファイル /imports/api/donuts/collection.js を作成し、コンテンツを貼り付けます。

 // file: /imports/api/donuts/collection.js
 import { Mongo } from 'meteor/mongo';
 const Donuts = new Mongo.Collection('donuts');
 export default Donuts;

3.流星シェルを実行し、次の方法でファイルをインポートします。

import Donuts from '/imports/api/donuts/collection.js'

このエラーが発生するよりも:

Error: Cannot find module '/imports/api/donuts/collection.js'
at Function.require.resolve (packages/modules-runtime.js:129:19)
at Module.resolve (packages/modules-runtime.js:81:25)
at Module.Mp.import (/home/ec2-user/.meteor/packages/modules/.0.7.7.mccaq7++os+web.browser+web.cordova/npm/node_modules/reify/lib/runtime.js:61:29)
at repl:1:-37
at packages/shell-server/shell-server.js:458:25
at /home/ec2-user/.meteor/packages/promise/.0.8.8.i94065++os+web.browser+web.cordova/npm/node_modules/meteor-promise/fiber_pool.js:32:39

どうしたの?ファイルのアクセス許可は問題ありません。プロジェクト ルートから meteor シェルを起動します。

ありがとう!

4

1 に答える 1

1

Meteor は当初、デフォルトのロード順序を使用してすべてのソース ファイルをロードしました。

最近のバージョン (v1.3 年頃) では、特別なディレクトリの扱いが異なります。それらのディレクトリの 1 つがimportsです。

指定されたディレクトリimports/はどこにもロードされず、ファイルは を使用してインポートする必要がありますimport

(流星のドキュメントから)

シェルを使用する場合、ビルドに含まれていたリソースのみをインポートできます。インポートしようとしているモジュール (ファイル) がインポート ツリー (ディレクトリimportの外側のどこかから始まる のチェーン) に含まれていない場合、そのモジュールは/importsインポートできません。

于 2016-11-04T07:59:28.813 に答える