很好,我不仅可以从项目根目录运行 NPM 脚本,还可以从子文件夹运行 NPM 脚本。但是,受限于它不能告诉我当前的工作路径($PWD)。
假设有这样的命令:
"scripts": {
...
"pwd": "echo $PWD"
}
如果我npm run pwd
在项目根目录的子文件夹中运行(例如,$PROJECT_ROOT/src/nested/dir
),而不是打印出我当前的路径$PROJECT_ROOT/src/nested/dir
,它总是会$PROJECT_ROOT
返回。有没有办法告诉 NPM 脚本使用我当前的工作目录而不是解析到package.json所在的位置?
基本上,我想将 Yeoman 生成器拉入现有项目并通过 NPM 脚本使用它,以便每个人都可以使用共享知识(例如,npm run generator
)而不是学习任何 Yeoman 特定的东西(例如npm i yo -g; yo generator
)。由于生成器根据当前工作路径生成文件,而 NPM 脚本始终解析为项目根目录,因此我无法在打算使用的地方使用生成器。