Модуль React неправильно импортирует в другой как зависимость - PullRequest
0 голосов
/ 21 сентября 2018

я столкнулся со следующей проблемой.Существует библиотека lib, встроенная в bundle.js, которая находится в репозитории npm и содержит некоторую логику, а также существует родительское приложение (что-то вроде meta-app), которое импортирует эту библиотеку.

Теперь есть некоторый код:

       ...
import reducer from './reducers'
    import Home from "./components/home";

    const namespace = 'home';
    const component = <Route path="/home" component={Home} />;
    console.log({reducer, namespace, component});

    export default {reducer, namespace, component};

это сборка с помощью веб-пакета: https://pastebin.com/0X0Ee9D6 и package.json:

{
  "name": "calculator",
  "version": "1.0.2",
  "description": "calculator",
  "scripts": {
    "dist": "webpack --mode=development",
    "test": "echo 'No Tests'"
  },
  "main": "dist/calculator.js",
  "files": [
    "src"
  ],
 ...

Итак, есть родительское приложение package.json

{
  "name": "root",
  "version": "1.0.0",
  "private": true,
  "description": "framework",
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "eject": "react-scripts eject",
    "test": "echo 'No Tests'"
  },
  "main": "lib/root.js",
  "dependencies": {
    "@material-ui/core": "^1.5.1",
    "babel-core": "^6.26.3",
    "eslint": "^5.3.0",
    "history": "^4.7.2",
    "jwt-decode": "^2.2.0",
    "mini-css-extract-plugin": "^0.4.3",
    "calculator": "./../../packages/calculator",

И теперь, используйте это:

import * as nfCalc from 'calculator';

{console.log('olol', nfCalc)}

Но импортировал только пустой объект (консоль, модуль зависимостей журнала fron все нормально).

Пока я его отлаживал, я видел это в

(function () {
  var reactHotLoader = __webpack_require__(/*! react-hot-loader */ "../../node_modules/react-hot-loader/index.js").default;

  var leaveModule = __webpack_require__(/*! react-hot-loader */ "../../node_modules/react-hot-loader/index.js").leaveModule;

  if (!reactHotLoader) {
    return;
  }

  reactHotLoader.register(Home, "Home", "C:\\Users\\sivanova\\WebstormProjects\\presale\\packages\\calculator\\src\\components\\home\\component.jsx");
  reactHotLoader.register(_default, "default", "C:\\Users\\sivanova\\WebstormProjects\\presale\\packages\\calculator\\src\\components\\home\\component.jsx");
  leaveModule(module);
})();

reactHotLoader в неопределенном

1 Ответ

0 голосов
/ 31 января 2019

FWIW Я исправил это, удалив реакционный горячий загрузчик, в том числе из файла .babelrc, webpack.config.js и package.json npm remove react-hot-loader

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