我有一个包含多个子项目的项目,其中一个是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的标志。我想要做的事情是可能的吗,还是我只需要创建一个单独的yarn项目来运行任务?我不想依赖global来实现这一点。
发布于 2021-04-20 00:10:45
答案是用--cwd运行yarn
这会将yarn的工作目录更改为您指定的目录
因此,对于上面的示例,要从根目录运行yarn build,您需要键入:
yarn --cwd js-client build
发布于 2019-07-24 01:41:48
您的package.json中有构建脚本吗?
如果没有,我会将其添加到您的package.json中,以覆盖默认行为,并使用类似于:cd client && yarn build的内容启动脚本。
编辑:
root
--package.json (with the build script)
--clienthttps://stackoverflow.com/questions/57165675
复制相似问题