Yeoman Generator for MEAN-seed - MongoDB, Express.js, AngularJS, Node.js + Yeoman (Grunt, Bower, Yo) + Jasmine, Karma, Protractor (for automated testing)
Install Yeoman Yo, Bower, Grunt and other global node modules we'll need, if you don't have them already:
$ npm install -g yo bower grunt-cli jasmine-node karma yuidocjs forever less
Install this generator:
$ npm install -g generator-mean-seed
Naviagate to a (new) directory where you want to create your AngularJS and node.js app and initiate the generator then follow the prompts:
$ yo mean-seed
NOTE: you can also (first) create a
yo-configs folder with .json files for the prompts so you don't have to type them all out. This is useful for storing multiple different configurations for different projects - just tell the generator which config to use and you're all set! See the yo_configs folder for examples.
NOTE: if you get errors (i.e. npm or bower install failures or timeouts, which aren't uncommon), just re-run the command
yo mean-seed OR re-run just the problematic parts, i.e.
bower update && bower install and/or
npm install. Once everything has installed properly, just make sure to run grunt:
NOTE: if you get an EACCESS / permission denied error during the npm install, find the folder that had permissions issues (from the log output) and run
sudo chown -R $USER [path to problematic folder].
See here for more/full info and steps.
You CAN and SHOULD keep your project up to date with the core (seed) generator you used as it goes through version upgrades. Just re-run:
Ensure the generator is up to date:
npm install -g generator-mean-seed
Pull in updates to your project (core/seed - make sure to select the same core you used originally). Just type 'a' (for overwrite all) if you get prompted about file conflicts - we'll handle those with Git merge later so it's safe to overwrite everything in the generator branch.
Then if you push, make SURE to ALSO push the/any
yo branches (i.e.
git push origin yo-core-default) so other developers get that branch and stay up to date.
See updating.md for more info.
See the docs/generators folder for more info.
More generators coming - feel free to create one and submit a pull request!
See the generated README.md file and the
docs folder for all documentation. Each (sub)folder typically has an
overview.md file - start there. Some key docs (roughly in order of priority) listed below:
core-defaultfolder/generator for an example
ng-routefolder/generator for an example