Grunt
Grunt
Grunt is The JavaScript Task Runner. link(Grunt).
Work with express
In express passport sample, grunt is used to add data into mongodb(seed)
Install
npm package
npm install -g grunt-cli
Check installation
grunt --version grunt --help
Example in Express
Add grunt package in your project.
"devDependencies": { "grunt": "*" }
I added after dependencies. dev means development.
I found good sample in passport-local
passport-local/examples/passport-local has Grunt example.
Grunt is used to add data into mongodb.
Prepare Gruntfile.js in your project root.
registerTask is key for task.
I use grunt task to populate test data to test db related work.
That is useful.
Sample(Gruntfile.js)
var db = require('./config/dbconfig'); // mongo connection var userdb = require('./config/user'); // database schema module.exports = function(grunt) { // Example grunt.registerTask('addUserOne','Add users to the database', function() { grunt.task.run('addUser:ito:atmarkplant@gmail.com:123455'); }); grunt.registerTask('addUser', 'Add users', function(name, email, password){ var user = new userdb.userModel({ name: name, email: email, password: password, }); var done = this.async(); user.save(function(err){ if (err) { console.log('Error: ' + err); done(false); } else { console.log('saved user: ' + user.email); done(); } }); }); grunt.registerTask('cleanUser', 'Clean user data', function() { var done = this.async(); userdb.userModel.remove({}, function(err){ if (err) { console.log(err); done(false); } else { console.log('Remove all users'); done(); } }); }); });
I added user data population and delete operation.
Run grunt task on your project root.
grunt taskname
taskname is your task name in express
“addUserOne” is grunt task
Warning
Send mail using aws doesn’t work correctly.