我有一个包含几个子项目的项目,其中一个是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
的标志。
2条答案
按热度按时间pinkon5k1#
答案是用
--cwd
运行Yarn这会将yarn的工作目录更改为您指定的目录
因此,对于上面的示例,要从根目录运行
yarn build
,应键入:yarn --cwd js-client build
k3bvogb12#
您的package.json中有构建脚本吗?
如果没有,我会将其添加到package.json中以覆盖默认行为,并使用如下内容启动脚本:
cd client && yarn build
.编辑: