Как заставить React показывать ошибки - PullRequest
1 голос
/ 17 марта 2020

Я сталкиваюсь с проблемой с React (16.13.0), tt не показывает никаких ошибок, которые можно использовать, вместо этого я получаю это:

Uncaught Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

В соответствии с сообщением я должен использовать отладочную сборку, чтобы увидеть ошибку Однако я уже (AFAIK). Инструменты разработки React, похоже, согласны со мной:

Эта страница использует сборку React для разработки. 100

Я использую webpack@4.42.0 с mode, установленным на development. Я также использую @babel/preset-env@7.8.7 и @babel/preset-react@7.8.3

webpack.config. js

const argv = require('yargs').argv;
const paths = require('./build/paths');

const jsName = `${paths.package.name}-js`;

/**
 * Webpack configuration
 * Run using "webpack" or "gulp js"
 */
module.exports = {
    // Path to the js entry point (source).
    entry: {
        [jsName]: __dirname + '/' + paths.jsEntry,
    },

    // Path to the bundles.
    output: {
        path: __dirname + '/' + paths.jsDir, // directory
        filename: '[name].js', // file
        chunkFilename: '[name].bundle.js',
        publicPath: '/static/bundles/',
    },

    // Use --production to optimize output.
    mode: 'development',
    module: {
        rules: [
            // JavaScript
            {
                test: /.js?$/,
                exclude: /node_modules/,
                loader: 'babel-loader',
            },
        ]
    },
};

.babelr c

{
    "presets": [
        "@babel/preset-env",
        "@babel/preset-react"
    ]
}

1 Ответ

0 голосов
/ 17 марта 2020

Хорошо, так что это немного стыдно. Проблема заключалась в том, что мой компонент с ошибками имел импорт (сгенерированный IDE) в производственную сборку React, вызывающую следующее поведение:

import {useContext} from 'react/cjs/react.production.min';

Конечно, должно быть:

import React, {useContext} from 'react';

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