Настройка накопительного пакета для библиотеки реагирования - PullRequest
0 голосов
/ 03 февраля 2019

Прошу прощения, но я не смог это опубликовать.

Это моя конфигурация накопительного пакета

import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import babel from 'rollup-plugin-babel';
import { terser } from 'rollup-plugin-terser';
import pkg from './package.json';

export default {
  input: 'src/index.js',
  external: ['react', 'react-dom', 'prop-types'],
  output: [
    { file: pkg.main, format: 'cjs', exports: 'named' },
    { file: pkg.module, format: 'es', exports: 'named' },
  ],
  plugins: [
    resolve(),
    commonjs({
      include: 'node_modules/**',
    }),
    babel({
      exclude: 'node_modules/**',
    }),
    terser(),
  ],
};

Вот весь исходный код моего проекта https://github.com/withvoid/melting-pot

Он опубликован на npmjs https://www.npmjs.com/package/@withvoid/melting-pot

Моя проблема в том, что моя библиотека прекрасно работает, если я добавляю ее в проект https://github.com/facebook/create-react-app, но когда я добавляю ее в проект codesandbox

https://codesandbox.io/s/6lqzp7q28w

Это дает мне ошибку, что

Инвариантные Нарушения Хуки могут быть вызваны только внутри тела компонента функции.

Кажется, я не могу понять, является ли это проблемой codeandbox (в которой я сомневаюсь) или моей конфигурацией накопительного пакета.

1 Ответ

0 голосов
/ 04 февраля 2019

Проблема заключается в том, что в плавильном котле "реакции" и "реаги-дом" указаны как dependencies, но они должны быть указаны как peerDependencies.Это приводит к двойному эффекту React с неприятными последствиями.Если я полностью удаляю зависимости реакции из песочницы, это работает, потому что тогда React вытягивается только один раз (с помощью плавильного котла).Очевидно, что это не подходящее решение, но это быстрый способ установить причину ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...