我有一个使用 Yarn 3 和 TypeScript 4 的 Create-React-App 5 项目。Web 应用程序通过 Yarn 的协议在同一个仓库中使用了一个库(不portal:
使用Yarn 工作区)。
myRepo
├── myLib
│ ├── package.json
│ ├── yarn.lock
│ └── src
│ ├── index.js
│ └── macro.js
├── myApp
│ ├── package.json
│ ├── yarn.lock
│ └── src
│ ├── App.tsx
│ ├── App.test.tsx
│ └── index.tsx
└── yarnrc.yml
myApp/package.json
使用这样的门户:
"dependencies": {
"myLib": "portal:../myLib",
我的顶级纱线配置:
# yarnrc.yml
nodeLinker: node-modules
如果我替换file:
,portal:
一切正常。即使使用portal:
,yarn build
和yarn start
insidemyApp
仍然可以正常工作,但yarn test
成为一个问题:/Users/luke/myRepo/myLib/src/index.js: The macro imported from "./macro" must be wrapped in "createMacro" which you can get from "babel-plugin-macros".
嗯?我当然不会尝试对 Babel 宏做任何事情。此外,这些东西在库中,而不是应用程序本身。
发生了什么事,我该如何解决?