2016-09-07 4 views
0

インポートディレクトリ構造の使用方法に関するMeteorドキュメントに続いて、Example directory layoutインポートファイル構造とコレクション公開

//-------------- publication.js` 
import {Vehicles} from '../vehicles.js'; 
Meteor.publish('vehicles', function() { 
    return Vehicles.find(); 
}); 

//-------------- carClass.jsx 
import './vehicles/server/publications.js'; 
const composer = (props, onData) => { 
    const subscription = Meteor.subscribe('vehicles'); 

    if (subscription.ready()) { 
    const vehicle = Vehicles.findOne({name: 'jack'}); 
    onData(null, { vehicle }); 
    } 
}; 

公開メソッドをエクスポートする必要がありますか?

Uncaught Error: Cannot find module './vehicles/server/publications.js'

このエラーが修正することができます方法:言っブラウザコンソールで
エラー?おかげ

enter image description here

答えて

0

Meteorのパブリケーションはサーバー専用のコードなので、そのスクリプトをcarClass.jsxにインポートすることはできません。

{app root} /server/main.jsのようなファイルが必要です。出版物をここにインポートして、購読するクライアント・スクリプトで使用できるようにします。このファイルは、/ importsフォルダー内に存在しないようにすることが重要です。これにより、サーバーが起動するときに読み込まれるようになります。

0

問題はパス./vehicles/server/publications.jscarClass.jsxファイルから到達できないということです。 ./server/publications.js

+0

これはエラーを発生します。キャッチエラー:モジュール './server/publications.js'を見つけることができません –

+0

IDEがコード補完スキームを使用してファイルをナビゲートすることをサポートしていますか?つまり、「./」と入力すれば、そこからどこに行くことができるのかがわかります。指定されたパスにモジュールが見つからないようです。その後、あなたが提供したスナップショットで私が前に示したパスが私から正しいように見えます。 – lucasmonteiro001

+0

はい。私はWebstormを使用していますが、あなたの回答に記載されている選択肢ではなく、投稿した最初の選択に満足しています。つまり、コード補完スキームは私が選択したものを表示しますが、あなたが入力したものではありません。 –

関連する問題