Gulp 从父目录运行Yarn任务

vmpqdwk3  于 2022-12-08  发布在  Gulp
关注(0)|答案(2)|浏览(186)

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

root 
     |_
       js-client 
                |_
                   package.json
                |_
                   node_modules
     |_
       go-server

我已经确定.yarnrc可以用于指定不同的node_modules位置,因此我将package.json移动到root目录并创建了以下.yarnrc文件:

--modules-folder client/node_modules

现在,当我从根目录运行yarn install时,模块确实按照我的预期安装在指定的位置,但当我运行yarn build时,我得到以下错误:

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

我猜这意味着--modules-folder仅用作install的标志,而不是run的标志。

pinkon5k

pinkon5k1#

答案是用--cwd运行Yarn
这会将yarn的工作目录更改为您指定的目录
因此,对于上面的示例,要从根目录运行yarn build,应键入:
yarn --cwd js-client build

k3bvogb1

k3bvogb12#

您的package.json中有构建脚本吗?
如果没有,我会将其添加到package.json中以覆盖默认行为,并使用如下内容启动脚本:cd client && yarn build .
编辑:

root
--package.json (with the build script)
--client

相关问题