This is a base application and packages initialization for new Meteor projects using BlazeJS.
These steps, and the accompanying configuration files, will set up a base MeteorJS app installation with the default BlazeJS renderer. This is a bare project, an empty app ready to accept boiler plate code.
Navigate in your terminal to the directory where the new Meteor project is to be created and create a new project (examples for bash):
meteor create <project name>
Normal project creation is used as a handy way of adding some base npm files etc.
After the project is created, navigate into the new app directory
cd <project name>
Adding some dependencies for meteor packages (listed independently for easy individual install).
meteor npm install --save bcrypt simpl-schema bootstrap popper.js
Add the necessary packages for the base application.
meteor add ostrio:flow-router-extra kadira:blaze-layout session fourseven:scss reactive-dict raix:handlebar-helpers
Packages included are those needed to:
- handle round trip CRUD for the application data model
- handle data validation
- manage application state
- render views according to the application state
- provide basic UI libraries for views
This initialization of a base meteor app directory includes the packages 'insecure' and 'autopublish'. These MUST be removed before deploying software live.
Security is of great importance when building software or services for public usage over the Internet. Make sure to be informed of the risks, and necessary measures.
The project is now ready for boilerplate code, or to begin coding from scratch.
See the meteor_boilerplate for a codebase boilerplate specifically developed to be deployed on top of this initialization process.
Have Fun! Along with maybe a beer :)
TODO:
- Review package install order
- Udate documentation
Meteor has changed some of it's file loading features in the last while. After 1.7 there is a new feature (default enabled) which disables all js
eager loading of files. But taking a look here we can see how to revert to default behaviour. Essentially there is a new key in package.json
called meteor
which also conatins a few other keys... primarily for now it seems that its primary use is to have "entry points" for the main modules of the app. If you remove the meteor
key, then eager loading is as expected prior to 1.7/8