Могу ли я использовать плагин babel для стилизованных компонентов в приложении create-react-app, которое использует TypeScript?
Я читал в документации, что существует «макрос, [который] включает в себя всю функциональность [] плагина babel, позволяя инструментам без извлечения обрабатывать Babel часть процесса сборки».
Я пытался:
npm install babel-plugin-macros
а также
import styled from 'styled-components/macro';
const Div = styled.div`
`;
На npm run start в приставке получаю
Compiled with warnings.
./node_modules/babel-plugin-macros/dist/index.js
62:46-53 Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
./node_modules/babel-plugin-macros/node_modules/cosmiconfig/dist/loaders.js
8:17-34 Critical dependency: the request of a dependency is an expression
При посещении приложения в браузере получаю
TypeError: __WEBPACK_IMPORTED_MODULE_1_styled_components_macro__.a.div is not a function
Мне не удалось это исправить






Я столкнулся с той же проблемой. Я пытался запустить tsc -b -w (смотреть) поверх монорепозитория, одновременно выполняя react-scripts start в проекте create-react-app, чтобы я мог смотреть проекты и создавать апстрим, если они меняются.
В конце концов я понял, что причина того, что это не работает, заключалась в том, что у меня были стилизованные компоненты, определенные в файле .ts, а не в файле .tsx, например, в файле Menu.styles.ts. Когда я переименовал его в Menu.styles.tsx, одновременные часы + start работали стабильно.
Надеюсь, это кому-то поможет.
Вам удалось это исправить?