我在NodeJS
中学习集群。我有两个任务,一个是node-sass
,另一个是uglifyjs
,我想由两个不同的工作人员在nodeJS
中使用集群运行。虽然代码是工作文件并创建SASS -> CSS
文件和main.js
到main.min.js
文件。在nodejs中使用集群在两个不同的工作人员中运行两个任务
但我不确定是否由单独的工人处理。让我知道我可以作出适当修改,使 -
SASS -> CSS
由一个工人UglifyJS
任务一旦两个任务完成主控制台成功的消息
处理的第二个工人
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
var fs = require('fs');
var UglifyJS = require("uglify-js");
var sass = require('node-sass');
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
// Fork workers.
for (let i = 0; i < 2; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
} else {
var result = UglifyJS.minify("js/main.js");
fs.writeFile(__dirname + '/js/main.min.js', result.code, function(err){
if(err)
throw err;
});
sass.render({
file: './css/main.scss',
outFile: 'css',
}, function(err, result) {
if(err)
throw err;
fs.writeFile(__dirname + '/css/main.css', result.css, function(err){
if(err)
throw err;
});
});
console.log(`Worker ${process.pid} started`);
}
你应该看看[咕噜](https://gruntjs.org)。 – meyer9
@ meyer9我知道webpack/grunt/gulp的方式......它是一种POC我正在为集群做 – Nesh