我创建了一个包含 macro.cjs
文件的包,该文件添加到 package.json:exports
中,请注意 package.json 有 type: module
。
描述错误
我得到了 an error :
Cannot find module '@effector/patronum/macro' from '/home/runner/work/patronum/patronum/integration/cra/src'
Require stack:
src/App.js
src/App.test.js
However, Jest was able to find:
'./demo.test.ts'
'./demo.ts'
You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx', 'node'].
我检查了 babel-plugin-macros 是否支持 .cjs
宏:https://github.com/kentcdodds/babel-plugin-macros/blob/master/src/index.js#L5
你尝试恢复依赖项了吗?
是的
你在用户指南中搜索了哪些术语?
环境
Environment Info:
current version of create-react-app: 4.0.3
running from /Users/sova/.npm/_npx/c67e74de0542c87c/node_modules/create-react-app
System:
OS: macOS 11.5.2
CPU: (8) arm64 Apple M1
Binaries:
Node: 16.5.0 - ~/.nvm/versions/node/v16.5.0/bin/node
Yarn: 1.22.11 - ~/.nvm/versions/node/v16.5.0/bin/yarn
npm: 7.19.1 - ~/.nvm/versions/node/v16.5.0/bin/npm
Browsers:
Chrome: 94.0.4606.81
Edge: Not Found
Firefox: 90.0.2
Safari: 14.1.2
npmPackages:
react: ^17.0.1 => 17.0.2
react-dom: ^17.0.1 => 17.0.2
react-scripts: ^4.0.3 => 4.0.3
npmGlobalPackages:
create-react-app: Not Found
重现步骤
此外,我还为 CRA 制作了一个集成测试:
预期行为
CRA 应该从另一个包加载带有 .cjs 扩展名的宏。
实际行为
可复现的演示
https://github.com/effector/patronum/tree/main/integration/cra/src
https://github.com/effector/patronum/runs/3848203844
我无法在 type:module
中将 .cjs
更改为 .js
,因为模块系统会在 .js
文件中认为它是 ESModule。
但是 CRA 不允许我在 macro.cjs
中导入它
2条答案
按热度按时间lnvxswe21#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
p3rjfoxz2#
我猜这已经通过#12605解决了,它确保babel处理依赖项中的
.cjs
文件。