Material-UI + TypeScript выдает ReferenceError: глобальный не определен - PullRequest
0 голосов
/ 10 ноября 2018

Я выполнил

npm install --save react react-dom @material-ui/core
npm install --save-dev webpack webpack-cli typescript ts-loader @types/react @types/react-dom

и перевезено main.tsx:

import * as React from "react";
import * as ReactDOM from "react-dom";
import Button from '@material-ui/core/Button';

window.onload = () => { ReactDOM.render(<Button />, document.getElementById("app")) };

Этот файл был успешно перенесен, но у меня была ReferenceError в node_modules/jss/lib/utils/escape.js:6

var CSS = global.CSS; // ReferenceError: global is not defined

Как я могу подавить эту ошибку?

Это мой webpack.config.js:

module.exports = {
    mode: "development",
    entry: __dirname + "/src/main.tsx",
    output: {
        path: __dirname + "/www",
        filename: "bundle.js",
    },
    devtool: "source-map",
    module: {
        rules: [ {test: /\.tsx?$/, use: "ts-loader"} ]
    },
    resolve: {
        extensions: [".ts", ".tsx", ".js"]
    },
    target: "node"
};

1 Ответ

0 голосов
/ 10 ноября 2018

у вас есть target: "node"

глобальные переменные типа global и require предоставляются средой. Если не указано иное, Webpack принимает среду браузера и переписывает глобальные параметры так, чтобы они указывали на окно.

Вы можете либо удалить target: 'node' из вашей конфигурации, либо явно включить глобальную перезапись, добавив node: {global: true} в ваш объект конфигурации.

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