Wenn Sie mit Meteor jünger als 1.3.0 arbeiten, können Sie Ihre hooks/allows/methods Dateien irgendwo unter einem server
Unterverzeichnis platzieren, solange Sie import
(wie im ES6 Modul importieren) sie. Es ist hilfreich, sie logisch zu trennen. Hier ist eine Beispiel für eine Verzeichnisstruktur in unserem Projekt verwenden:
public/ (static files, assets)
settings/ (to be loaded as command-line args for different environments)
test/
imports/
client/
startup/
components/
views/
server/
startup/
allows/
hooks/
methods/
publications/
both/
utils/
collections/ (collections are here, because they're shared)
Nun, um ehrlich zu sein, ist dies ein älteres Projekt, so wurde React hier nicht betrachtet, aber dies noch nützlich sein könnte für Sie, wenn Sie organisieren Ihre Importe. Offensichtlich werden Sie einige Eintragsdateien für Ihren Client und Server benötigen, die alle notwendigen Abhängigkeiten importieren. Fortan zum Beispiel in Ihrer imports/server/allows/<collection_name>.js
Datei, legen Sie wie erlaubt:
import { SomeCollection } from '/imports/both/collections/someCollection.js';
SomeCollection.allow({
insert: function() {
return true;
},
update: function() {
return true;
},
remove: function() {
return true;
}
});
Ich ziehe absoluten Dateipfad Importe in Meteor Projekte verwenden, da die Wurzel Pfad zur Wurzel des Projekts aufgelöst wird. Erleichtert das Kopieren und Einfügen.
Hoffe, dass hilft.
Vielen Dank, das ist sehr hilfreich. Ich denke, ich bin ein wenig unklar, ob ich die Meteor.users-Sammlung wie jede Sammlung (SomeCollection in Ihrem Beispiel) verwenden kann. Wenn ich eine Sammlung benenne, referenziert sie automatisch auf Meteor.users, damit ich users.allow ({remove ...}) machen kann? – John
Ich bin mir fast sicher, dass Sie Meteor.users.allow ({etc ...}) verwenden können. Sie sollten in der Lage sein, auch eine Sammlung "Benutzer" zu benennen. Bitte markieren Sie die Antwort als beantwortet, wenn Ihr anfängliches Problem behoben wurde. –