Javascript 从父目录运行任务

Javascript 从父目录运行任务,javascript,npm,gulp,yarnpkg,Javascript,Npm,Gulp,Yarnpkg,我有一个包含多个子项目的项目,其中一个是JavaScript项目。我想通过gulp将JavaScript项目用作整个项目的任务运行程序,但我遇到了一些麻烦 我的项目结构基本上是: root |_ js-client |_ package.json |_ node_modules |_ go-server

我有一个包含多个子项目的项目,其中一个是JavaScript项目。我想通过
gulp
将JavaScript项目用作整个项目的任务运行程序,但我遇到了一些麻烦

我的项目结构基本上是:

root 
     |_
       js-client 
                |_
                   package.json
                |_
                   node_modules
     |_
       go-server
我已确定
.yarnrc
可用于指定不同的
节点\u模块
位置,因此我将
package.json
移动到
根目录
并创建了此
.yarnrc
文件:

--modules-folder client/node_modules
现在,当我从根目录运行
warn install
时,模块的安装与我预期的完全一致,位于指定的位置,但当我运行
warn build
时,我收到以下错误:

[09:46:17] Local modules not found in ~/Documents/Projects/root
[09:46:17] Try running: npm install

我猜这意味着
--modules文件夹
仅用作
安装
的标志,而不用于
运行
。我想做的是可能的,还是我只需要创建一个单独的纱线项目来运行任务?我不想依靠global来完成这项工作

您的package.json中有构建脚本吗

如果没有,我会将其添加到您的package.json中以覆盖默认行为,并使用类似以下内容启动脚本:
cd-client&&warn-build

编辑:


在package.json中是否有构建脚本

如果没有,我会将其添加到您的package.json中以覆盖默认行为,并使用类似以下内容启动脚本:
cd-client&&warn-build

编辑:


答案是用
--cwd

这会将Thread的工作目录更改为您指定的任何目录

因此,对于上面的示例,要从根目录运行
warn build
,您可以键入:


warn--cwd js客户端构建

答案是使用
--cwd

这会将Thread的工作目录更改为您指定的任何目录

因此,对于上面的示例,要从根目录运行
warn build
,您可以键入:


Thread--cwd js client build

是的,我希望能够从客户端文件夹外运行它,尽管您可以共享您的包.json吗?是的,我希望能够从客户端文件夹外运行它,尽管您可以共享您的包.json吗?
root
--package.json (with the build script)
--client