Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React不会加载Webpack 5,但会加载到Webpack 4中_Reactjs_Webpack - Fatal编程技术网

Reactjs React不会加载Webpack 5,但会加载到Webpack 4中

Reactjs React不会加载Webpack 5,但会加载到Webpack 4中,reactjs,webpack,Reactjs,Webpack,我制作了一个React组件库,它与Webpack4配合得非常好。当我升级到Webpack 5时,它仍在编译,但它给了我一些警告: ./src/index.tsx中的警告6:24-35 在“@dlcm/dlcm共享模块”中找不到导出“GridContent”(导入为“GridContent”)(模块没有导出) 在浏览器控制台中,会抛出以下错误: 未捕获的TypeError:无法读取未定义的属性“Component” 它试图使用React.Component类来扩展我的组件,但是 var React

我制作了一个React组件库,它与Webpack4配合得非常好。当我升级到Webpack 5时,它仍在编译,但它给了我一些警告:

./src/index.tsx中的警告6:24-35 在“@dlcm/dlcm共享模块”中找不到导出“GridContent”(导入为“GridContent”)(模块没有导出)

在浏览器控制台中,会抛出以下错误:

未捕获的TypeError:无法读取未定义的属性“Component”

它试图使用React.Component类来扩展我的组件,但是

var React = __webpack_require__(/*! react */ "react");
返回未定义的

// webpack.config from my library
const path = require('path');

module.exports = {
    optimization:{
        minimize: false, // <---- disables uglify.
        // minimizer: [new UglifyJsPlugin()] if you want to customize it.
    },
    entry: './src/index.ts',
    target: "web",
    module: {
        rules: [
            {
                test: /\.s[ac]ss$/i,
                use: [
                    // Creates `style` nodes from JS strings
                    "style-loader",
                    // Translates CSS into CommonJS
                    "css-loader",
                    // Compiles Sass to CSS
                    "sass-loader",
                ],
            },
            {
                test: /\.tsx?$/,
                use: 'ts-loader',
            },
        ],
    },
    resolve: {
        extensions: ['.tsx', '.ts', '.js'],
    },

    externals: {
        'react': {
            root: 'React',
            commonjs2: 'react',
            commonjs: 'react',
            amd: 'react',
            umd: 'react',
        },
        'react-dom': {
            root: 'ReactDOM',
            commonjs2: 'react-dom',
            commonjs: 'react-dom',
            amd: 'react-dom',
            umd: 'react-dom',
        },
    },

    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'index.js',
        library: {
            name: 'DlcmLib',
            type: 'umd',
        }
    }
};

导入反应,例如按钮如下:

import * as React from 'react';
import './Button.scss';

export class Button extends React.Component<any, any> {
...
(与webpack 4.46.0配合使用)


我做错了什么?

问题出在线路上

"type": "module",
在库的package.json中

我真的不明白问题和解决方案之间有什么联系,所以如果有人有线索,请回答,我很好奇

  "devDependencies": {
    "@types/react": "^17.0.8",
    "@types/react-dom": "^17.0.5",
    "css-loader": "^5.2.6",
    "html-webpack-plugin": "^5.3.1",
    "http-server": "^0.12.3",
    "sass": "^1.34.0",
    "sass-loader": "^11.1.1",
    "style-loader": "^2.0.0",
    "ts-loader": "^9.2.2",
    "typescript": "^4.3.2",
    "webpack": "^5.38.0",
    "webpack-cli": "^4.7.0"
  },
  "dependencies": {
    "@babel/core": "^7.14.3",
    "@babel/plugin-transform-runtime": "^7.14.3",
    "@babel/preset-env": "^7.14.2",
    "@babel/preset-react": "^7.13.13",
    "@dlcm/dlcm-shared-modules": "^1.0.0",
    "babel-loader": "^8.2.2",
    "react": "^17.0.2",
    "react-dom": "^17.0.2"
  }
"type": "module",