Ответ 1
Вы можете установить текущий рабочий каталог с помощью process.chdir, используя имена путей в стиле Unix:
process.chdir('/temp/foo');
Я не уверен, как указать префикс диска (D:
), хотя.
Я только что установил node.js для окон, и на самом деле это был легкий ветерок, чтобы запустить его. Я хотел бы использовать его как часть моего процесса сборки, чтобы объединить несколько файлов вместе так:
// settings
var FILE_ENCODING = 'utf-8',
EOL = '\n',
DIST_FILE_PATH = 'dist/myAwesomeScript.js';
// setup
var _fs = require('fs');
function concat(fileList, distPath) {
var out = fileList.map(function(filePath){
return _fs.readFileSync(filePath, FILE_ENCODING);
});
_fs.writeFileSync(distPath, out.join(EOL), FILE_ENCODING);
console.log(' '+ distPath +' built.');
}
concat([
'foo/bar.js',
'foo/lorem.js',
'foo/maecennas.js'
], DIST_FILE_PATH);
Это действительно работает как шарм. Однако он работает, только если я поместил все мои скрипты в каталог nodejs, который является C:\Program Files (x86)\nodejs, и начните процесс cmd с правами администратора.
Но мне нужно иметь файлы проектов в другом каталоге (скажем D:\ git\projectx \) и хотели бы иметь возможность запускать: node.exe D:\git\projectx\comb.js. Несчастливо все так не работает, потому что node.exe будет искать файлы в его собственном каталоге, который является C:\Program Files (x86)\nodejs. Должно быть, нужно запустить процесс nodejs и сказать ему использовать другой каталог в качестве рабочего каталога, не так ли?
UPDATE
Как кто-то указал на IRC. Решение моей проблемы было довольно простым. Просто cd
в D:\git\projectx
, а затем используйте node.exe combine.js
. Это делает так, чтобы текущий каталог внутри вашего script указывал на D:\git\projectx
Тем не менее, я согласен с ответом Люка, поскольку это, похоже, также верно; -)
Вы можете установить текущий рабочий каталог с помощью process.chdir, используя имена путей в стиле Unix:
process.chdir('/temp/foo');
Я не уверен, как указать префикс диска (D:
), хотя.
process.chdir('D:\\git\\projectx')
Вы всегда можете использовать __dirname
для представления каталога script, в котором вы находитесь...
process.chdir(__dirname);
На самом деле это
process.chdir('D:\\\git\\projectx')