/ / Comment organiser les dossiers et les fichiers sur le projet Meteor? - javascript, météore

Comment organiser les dossiers et les fichiers sur le projet Meteor? - javascript, meteor

J'essaie de comprendre Meteor lorsque je crée un projet et je trouve certaines choses un peu difficiles à comprendre jusqu’à présent.

1- Quand ils disent que je peux créer un server et un client dossier, où exactement je suis censé le faire? Frère de .meteor ? Et tout sera-t-il à la portée du client ou du serveur lorsque l'application démarrera ou dois-je faire autre chose? Si je crée un foo.js et un foo fonctionner à l'intérieur dans client dossier, puis-je simplement appeler foo() dans Meteor.isClient et ça va marcher?

2- Je dois créer un dossier de téléchargement pour que les gens puissent télécharger leurs fichiers (images). Alors, où suis-je supposé faire ça? De plus, comment puis-je obtenir le chemin absolu de mon projet et le trouver upload dossier à l'intérieur?

Au cours de mes tentatives, j'ai essayé ce qui suit:

fs = Meteor.npmRequire("fs");
__ROOT_APP_PATH__ = fs.realpathSync(".");

Mais __ROOT_APP_PATH__ est .meteorlocalbuildprogramsserver. Assez caché non?!

3- J'ai vu des personnes télécharger et sauvegarder des fichierssur MongoDB directement. C’est quelque chose que nous ne faisons généralement pas avec les bases de données relationnelles. Nous déplaçons le fichier vers un dossier connu sur un CDN ou sur notre propre disque et nous sauvegardons le hachage ou le nom de ce fichier afin que nous puissions le retrouver facilement. avec Meteor + MongoDB? Pourquoi devrais-je sauvegarder le fichier lui-même sur Mongo au lieu de le déplacer dans un dossier?

Réponses:

3 pour la réponse № 1

pas de moyen spécifique à faire, mais météore le recommande de faire de cette façon http://docs.meteor.com/#/basic/filestructure


3 pour la réponse № 2

STRUCTURE DU DOSSIER:

both/ (OR lib/)          -- common code for server and client
|- collections/        -- declare collections (e.g Employer = new Meteor.Collection("employer");)
|- router     /        -- router code(e.g Router.route(..))

client/                  -- client side code
|- global/             -- all global variable for client
|- helpers/            -- global helper for client (for all templates)
|- plugins/            -- all the plugins code(if you use any)
|- stylesheets/        -- css / less files
|- templates/          -- all templates
|- home.html     -- home template(html)
|- home.js       -- home template(js)

public/                  -- images/icons/fonts (meteor looking at this file)

server/                  -- server code
|- methods/            -- server methods/API (e.g Meteor.methods({...}))
|- publish/            -- publish code from server

c'est la structure de dossier de base pour le projet meteor que je suis. Pour de plus amples référence ou Documentation. Pour toute question n'hésitez pas demander dans les commentaires ..