使用NodeJS,NPM和Gulp。
我想构建一个gulp任务来运行适用于Ubuntu和Windows的JSDoc。
这适用于Ubuntu ......
var exec = require('child_process').exec;
return function(cb) {
exec('node node_modules/.bin/jsdoc -c jsdoc-conf.json', function(err, stdout, stderr) {
cb(err);
});
};
这适用于Windows ...
var exec = require('child_process').exec;
return function(cb) {
exec('node_modules\\.bin\\jsdoc -c jsdoc-conf.json', function(err, stdout, stderr) {
cb(err);
});
};
毋庸置疑,两者都不起作用。其他人如何解决这类问题?
答案 0 :(得分:4)
尝试使用path.resolve,无论平台如何,都应为您提供文件的完整路径。
答案 1 :(得分:2)
节点有process.platform
,其中......“返回一个字符串,用于标识正在运行Node.js进程的操作系统平台。例如darwin
,freebsd
,{{ 1}},linux
或sunos
“
https://nodejs.org/api/process.html#process_process_platform
win32
答案 2 :(得分:1)
使用path.resolve:
const exec = require('child_process').exec;
const path = require('path');
return function(cb) {
let command = `node ${path.resolve('node_modules/.bin/jsdoc')} -c jsdoc-conf.json`;
exec(command, function(err, stdout, stderr) {
cb(err);
});
};