Первая сборка в порядке, но горячая замена модуля вызывает Typerror: CB не является функцией, использующей parcel.js - PullRequest
0 голосов
/ 25 июня 2018

Это мой первый react проект, использующий parcel в качестве компоновщика.Мне нравилась скорость и простота сервера разработки до того момента, когда я начал интегрировать react-css-modules.Честно говоря, я не уверен, что является причиной моей ошибки, поэтому любая информация здесь будет оценена.

В моем терминале hot-module-replacement срабатывает без ошибок.Я могу перестроить свое приложение за миллисекунды при сохранении любого изменения.Фактически, браузер будет обновлять любые изменения в css, но функциональность прекращается из-за ошибки javascript:

react-dom.development.js:15834 Uncaught TypeError: cb is not a function
    at react-dom.development.js:15834
    at Array.forEach (<anonymous>)
    at hmrAccept (react-dom.development.js:15833)
    at react-dom.development.js:15713
    at Array.forEach (<anonymous>)
    at WebSocket.ws.onmessage (react-dom.development.js:15710)

(anonymous) @ react-dom.development.js:15834
hmrAccept @ react-dom.development.js:15833
(anonymous) @ react-dom.development.js:15713
ws.onmessage @ react-dom.development.js:15710

Я проследил это до моего вызова ReactDom.render()

Я не уверен, является ли это ошибкой конфигурации с моей стороны, если мне нужно сообщить об ошибке на github.Любая помощь приветствуется.

index.js

import "babel-polyfill";
import React from 'react';
import * as ReactDOM from 'react-dom';
// cross-browser support for CSS variables
import cssVars from 'css-vars-ponyfill';
cssVars();

import './index.css';
import App from './Components/App'

const rootEntry = document.getElementById('form-root')
ReactDOM.render( <App/>, rootEntry);

.babelrc

{
    "plugins": [
        ["react-css-modules", {
            "generateScopedName": "[path]__[name]__[local]__[hash:base64:5]",
            "webpackHotModuleReloading": true,
            "handleMissingStyleName": "warn"
        }]
    ],
    "presets": [
        ["env", { "useBuiltIns": true }], "react"
    ]
}

.postcssrc

{
    "modules": true,
    "plugins": {
        "autoprefixer": {
            "browsers": [
                "Firefox >= 52",
                "Chrome >= 55",
                "ie >= 9",
                "last 4 versions",
                "Safari >= 9"
            ],
            "flexbox": "no-2009"
        },
        "postcss-modules": {
            "generateScopedName": "[path]__[name]__[local]__[hash:base64:5]",
            scopeBehaviour: 'local'
        }
    }
}
...