Я создаю пакет NPM. Это компонент React.
Он имеет автоматические тесты через Jest, и автоматизированные тесты работают. Он использует синтаксис JSX
, поэтому я создал .babelrc
в корневом каталоге со следующим содержимым:
{
"presets": ["@babel/preset-env", "@babel/preset-react"],
"plugins": ["@babel/plugin-proposal-class-properties"]
}
Когда я пытаюсь использовать его в другом месте (в проекте приложения, установить его, а затем импортировать), происходит сбой со следующим сообщением:
ERROR in ./node_modules/pop-shared/src/MultiList.js 17:16
Module parse failed: Unexpected token (17:16)
You may need an appropriate loader to handle this file type.
| };
|
> onListClicked = () => {
| this.onCollapseChange(!this.state.collapse);
| };
@ ./node_modules/pop-shared/src/index.js 1:0-36 4:2-11
@ ./src/scenes/search/index.js
@ ./src/router.js
@ ./src/index.js
@ multi (webpack)-dev-server/client?http://localhost:8080 ./src/index.js
Ошибка связана с обозначением свойств класса.
Я не понимаю, почему. Я использую другие модули (импортируя их), которые также используют свойства класса .
Почему этот конкретный модуль выходит из строя? И почему это работает, когда я запускаю автоматизированные тесты через Jest?