【发布时间】:2015-01-29 22:23:57
【问题描述】:
有没有办法在 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 所在的目录。)
谢谢!
【问题讨论】:
-
__dirname stackoverflow.com/a/8131696/94144 ?
-
这是获取脚本目录的一种方法,当然,但我怎样才能将该目录设置为我的工作目录呢?有
process.cwd(),但看起来我不能通过它分配任何东西。 gulp 会暴露一些东西让我完成这个任务,还是只有节点命令才能提供的东西? -
不是已经这样做了吗?
-
我不确定你是如何使用 Gulp,但它有两个主要方法,src 和 dest,你可以使用 path.join(__diename, 'src', '风格')nodejs.org/api/path.html#path_path_join_path1_path2
-
@coma 我确实知道这种可能性,但我想知道是否可以避免在每个目录前加上
__dirname的前缀,而是做类似process.cwd = __dirname的事情。 Bower 在一个配置文件中提供了这个功能(诚然,这不是一回事),所以我想知道是否有办法减少冗长。
标签: javascript gulp