我如何从gulp运行的路径获得路径?

Bød*_*len 6 node.js gulp

我正在构建一个gulp的前端工作流程,我需要能够构建多个单独的设计,但他们需要共享一些常见的设置.

为了澄清,我有这样的结构:

  • [项目根目录]
    • 模板
      • 设计
        • MyDesign1
          • 资产
            • JS
              • .js文件
            • SCSS
              • .scss
          • gulpfile.js
        • MyDesign2
          • 资产
            • JS
              • .js文件
            • SCSS
              • .scss
          • gulpfile.js
        • [可以在以后添加更多设计]
    • .eslintrc(共享)
    • sftp-config.json(共享)
我希望能够调用gulptemplates/designs/mydesign1templates/designs/mydesign2内,有接取数据[Project root]/sftp-config.json[Project root]/.eslintrc以及可能是吞掉从运行文件夹之外存在的任何其他文件.

那可能吗?

Bød*_*len 10

我找到了解决问题的方法,它似乎对我的需求非常有效:

通过使用process.cwd()我可以获得gulp运行的文件夹,然后我可以使用path.resolve('../')退回我的文件夹,直到我点击我的项目根文件夹.

var gulpRanInThisFolder = process.cwd();
var rootDir = path.resolve('../','../','../','../');
var designFolderName = pkg.name;
var sftpConfigPath =  path.join(rootDir, '/sftp-config.json'); 
Run Code Online (Sandbox Code Playgroud)

  • 为了澄清,`process.cwd()`返回运行脚本的目录,而不是gulp所在的目录."gulp运行的文件夹"有点含糊不清:)`__dirname`会找到gulp所在的文件夹. (4认同)