http://localhost:8080
目前唯一有效的是,它将启动mongod,elasticsearch和nodemon。那就是......
Gruntfile.js
module.exports = function (grunt) {
grunt.initConfig({
shell: {
mongo: {
command: 'mongod',
options: {
async: true
}
},
elasticsearch: {
command: 'elasticsearch',
options: {
async: true
}
}
},
nodemon: {
dev: {
script: 'server.js'
}
},
execute: {
target: {
src: ['load_JSON_into_elasticSearch.js']
}
},
open: {
dev: {
path: 'http://localhost:8080',
app: 'Google Chrome'
}
}
});
grunt.loadNpmTasks('grunt-shell-spawn');
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-execute');
grunt.loadNpmTasks('grunt-open');
grunt.registerTask('startServices', ['shell', 'nodemon']);
grunt.registerTask('indexAndBrowser', ['execute', 'open']);
grunt.registerTask('default', 'Start it...', function() {
var done = this.async();
grunt.log.writeln('\n===========================================\nStarting Mongod/ ElasticSearch/ Nodemon...\n===========================================\n');
var init = function () {
grunt.task.run('startServices');
var process = function () {
setTimeout(function () {
grunt.log.writeln('\n==================================\nStarting Index and Browser...\n==================================\n');
grunt.task.run('execute');
}, 20000);
};
process();
done();
};
init();
});
};
答案 0 :(得分:0)
我个人会建议使用grunt-run(我写它来管理类似的需求)。
https://www.npmjs.org/package/grunt-run
它有一些有用的功能,你可以利用。以下是使用grunt-run的示例:
grunt.initConfig({
run: {
elasticsearch: {
cmd: 'elasticsearch',
options: {
wait: false,
ready: /started/
}
},
mongo: {
command: 'mongod',
options: {
wait: false,
ready: /waiting for connections on port/
}
},
load_json_into_es: {
args: [
'load_JSON_into_elasticSearch.js'
]
}
},
open: {
dev: {
path: 'http://localhost:8080',
app: 'Google Chrome'
}
},
nodemon: {
dev: {
script: 'server.js'
}
}
});
grunt.loadNpmTasks('grunt-run');
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-open');
grunt.registerTask('default', [
'run:mongo'
'run:elasticsearch'
'run:load_json_into_es',
'nodemon',
'open'
]);