Shu*_*ams 4 javascript node.js gruntjs
如果我在某个文件夹/ foo中安装了Grunt,但我当前的文件夹是/ foo/bar/baz,并且我从当前文件夹中运行"grunt sometask",我怎样才能确定Grunt(或NodeJS)来确定我现在的路?也就是说,当我调用grunt时,如何以编程方式获取我所在的文件夹?
当我使用process.cwd()时,我得到了gruntfile的路径,即"foo",这不是我想要的.
我没有特别在Grunt中这样做,任何基于nodejs的解决方案都可以.
根据源代码:
默认情况下,所有文件路径都相对于Gruntfile
并且,瞧,这行代码显示了grunt如何将当前目录实际更改为Gruntfile的路径:
process.chdir(grunt.option('base') || path.dirname(gruntfile));
Run Code Online (Sandbox Code Playgroud)
但是,选择--base就是这样.请参阅docs:http://gruntjs.com/api/grunt.file
如果你不需要做从里面的Gruntfile,只需运行捕获的脚本process.cwd(),然后execs咕噜.
请参阅:https://www.npmjs.com/package/exec
var exec = require('exec');
process.cwd(); // Will have your current path
exec(['grunt', 'mytask'], function(err, out, code) {
if (err instanceof Error)
throw err;
process.stderr.write(err);
process.stdout.write(out);
process.exit(code);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7293 次 |
| 最近记录: |