gulp和npm的新功能,我正在尝试编写一个考虑当前目录的脚本:
gulp.task('render', function(){
var folder = process.cwd();
console.info("I am called from:" + folder);
//renderThisData(folder + "/data.json");
})
我也尝试了这个,它给出了相同的结果:
gulp.task('render', function(){
var folder = process.env.INIT_CWD;
console.info("I am called from:" + folder);
//renderThisData(folder + "/data.json");
})
我的树就像:
root
|--- package.json
|--- gulpfile.js
|--- folder1
| |--- data.json
|--- folder2
| |--- data.json
|--- folder3
| |--- data.json
当我从一个特定文件夹中运行脚本时,上面的脚本总是给出了gulpfile所在的路径: - (
D:\root\folder1>npm run render
I am called from D:\root
我找到的一项工作是使用参数:
npm run render -- --folder=folder1
然后在我的代码中读取/使用param值。 我想知道是否有其他方法可以做到这一点?
答案 0 :(得分:0)
npm run
将始终从您的根目录运行(如果您的脚本中没有更改)。
如果您可以运行process.env.INIT_CWD
而不是使用gulp 'task'
或传递文件夹名称,则可以使用npm
这是从其启动的原始cwd(在版本3.8.1中添加)按参数npm run render -- --folder=${PWD##*/}