Отказ от ответственности: я знаю, что лучший способ извлечения модулей узлов - через npm, это вопрос, чтобы лучше понять несколько вещей.Позвольте мне объяснить, как я подошел к проблеме и что это за проблема.
У меня есть два проекта: один называется SOMEAPP
, а другой - COOLCOMPONENTPROJ
.Они оба используют Create React App от FB.
Вкл. SOMEAPP
Я добавил зависимость от моего package.json, которая указывает на частное репозиторий Bitbucket, где мой компонент размещен, так что SOMEAPP
выглядит package.jsonчто-то вроде
...
dependencies:{
...
COOLCOMPONENTPROJ:"git+https://USERNAME@bitbucket.org/COOLCOMPONENTPROJ.git"
...
}
Это отлично работает, я вижу мой код в node_modules/coolcomponent
.
Мой репозиторий COOLCOMPONENT
проекта (afaik) соответствует протоколу npm и выглядит так:
- index.js
let CoolComponent = <div>test</div>
export default CoolComponent
- package.json
{
main:"index.js", <-- to my knowledge the important bit
author:"blablah",
...more properties
}
Проблема
При импорте CoolComponent
на SOMEAPP
примерно так:
import CoolComponent from "COOLCOMPONENTPROJ"
я получаю следующую ошибку:
Не удалосьcompile.
. / node_modules / webchat-реагировать-test / index.js Ошибка синтаксического анализа модуля: неожиданный токен (4:15) Вам может потребоваться соответствующий загрузчик для обработки этого типа файла.
Вопросы
Безопасно ли из этого предполагать, что веб-пакет ничего не переносит в папку node_modules
, и поэтому возникает эта ошибка?Я бы предположил, что только экспорт чистого js как let a = 3; export default a;
в том же компоненте работает нормально.
Если так, что нужно сделать?Должен ли я построить проект, а затем убедиться, что мой index.js
импортирует встроенный файл и экспортирует его вместо этого?