javascript - 在 gulpfile.js 中设置工作目录?

标签 javascript gulp

有没有办法在 gulpfile 中设置 Gulp 的工作目录,这样我就可以从子目录运行 gulp 命令而不会遇到任何问题?我对此进行了搜索,但没有找到我要找的东西。

澄清一下,我知道要为我正在使用的文件添加前缀。然而,而不是这个 -

var gulp = require('gulp');
var jshint = require('gulp-jshint');
...

var paths = {
    js: [__dirname + 'app/*/*.js', __dirname + '!app/lib/**'],
    css: __dirname + 'app/*/*.styl',
    img: __dirname + 'app/img/*',
    index: __dirname + '*.html',
    dist: __dirname + 'dist'
};

我想做这样的事情:

var gulp = require('gulp');
var jshint = require('gulp-jshint');
...

gulp.cwd(__dirname); // This would be much easier to understand, and would make future edits a bit safer.

var paths = {
    js: ['app/*/*.js', '!app/lib/**'],
    css: 'app/*/*.styl',
    img: 'app/img/*',
    index: '*.html',
    dist: 'dist'
};

我想知道 Gulp 是否公开了这个功能。也许节点本身允许这样做。

(我意识到当我运行命令时可能有一种方法可以自己执行命令行,但我想将它包含在 gulp 文件中,特别是为了分发目的。我希望 gulp 的工作目录与gulpfile 所在的目录。)

谢谢!

最佳答案

除了option.cwd,你还可以使用process.chdir(yourDir)

它可以在 gulpfile 中的任何地方使用。例如

process.chdir(yourDir);
var gulp = require('gulp');

确保你的 gulp 是最新的(> 3.8.10),这可能不适用于旧的 gulp。

关于javascript - 在 gulpfile.js 中设置工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27236437/

相关文章:

javascript - 无法在 BlackBerry Cascades 中通过 https 加载 JSON 数据源

typescript - 当我只希望它在一个文件夹/文件中运行时,WebPack ts-loader 编译所有文件

node.js - 如何在 NodeJS 中创建空的(立即完成的)ReadWriteStream?

javascript - 从 C++ IHTMLInputElement 触发 onChange 事件

javascript - Jquery find+length/size 返回 0

javascript - 循环通过特定类的控件时无法访问 attr

javascript - 获取错误 : Invalid output folder when using gulp-angular-templatecache to create a combined HTML template file

javascript - decodeURIComponent vs unescape,unescape有什么问题?

javascript - 安装 Gulp : “no command ' gulp' found” 后

gulp - 另一个解析错误: 'import' and 'export' may appear only with 'sourceType: module' :(