Внешние компоненты реагируют виртуализированы в веб-пакете, используют версию umd в браузере, проблема не определена - PullRequest
0 голосов
/ 27 апреля 2020

Я использую Typescript & react-virtualized для создания страницы таблицы с большим количеством данных.

Когда я упаковал react-virtualized в свой окончательный файл js, все в порядке.

Но я обнаружил, что файл пакета немного больше, чем я думал, поэтому я решил исключить react-virtualized из файла пакета.

После того, как я объявил externals в webpack файле конфигурации, скомпилируйте прошло, но в браузере произошла ошибка «не определено».

Итак ... вот файл webpack.config.js:

import path from 'path';
import webpack from 'webpack';
import { entities } from '../src/routes';

const configuration : webpack.Configuration =  {
  mode: process.env.NODE_ENV === 'development' ? 'development' : 'production',
  target: 'web',
  devtool: "source-map",
  entry: entities(),
  output: {
    path: path.resolve(__dirname, '../dist/assets'),
    filename: '[name].js',
    publicPath: '',
  },
  .........
  externals: [
    {
      'react': 'React',
      'react-dom': 'ReactDOM',
      'redux': 'Redux',
      'react-redux': 'ReactRedux',
      'axios': 'axios',
      'react-router-dom': 'ReactRouterDOM',
      'react-virtualized': 'react-virtualized',  // also tried 'react-virtualized': 'ReactVirtualized'
    },
  ]
}

export default configuration;

Произошла ошибка, когда externals напишите так :

конфигурация: 'реагировать-виртуализировано': 'реагировать-виртуализировано'

ошибка: ReferenceError: реакция не определена

Но я Я уверен, что реакция загружена, может быть, это проблема асинхронной загрузки c, но я считаю, что правильная конфигурация ниже:

конфигурация: 'response-virtualized': 'ReactVirtualized'

ошибка: ReferenceError: ReactVirtualized не определено

В этой ситуации я проверил Window Object, ReactVirtualized объект прямо здесь; (

Любые советы?

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