0

Getting this error with loadable components after building using webpack. I have tried lots of solutions from stackoverflow but nothing works for me.

ERROR in ../src/pages/EngineeringUI/index.js 9:14
Module parse failed: Unexpected token (9:14)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import PageLoader from '@xyz/atoms/PageLoader';
| const LoadableEngineeringUI = loadable(() => import('./EngineeringUI'), {
>     fallback: <PageLoader />,
| });
| export default LoadableEngineeringUI;
 @ ./src/web/NestedRouter.js 29:0-132 142:29-42
 @ ./src/web/MainRouter.js 4:0-42 18:15-27
 @ ./src/web/App.js 26:0-38 77:95-105
 @ ./src/web/index.js 4:0-24 7:50-53
 @ ./src/index.js

here is my devDependancies:-

"devDependencies": {
        "@babel/core": "^7.3.4",
        "@babel/plugin-proposal-class-properties": "^7.18.6",
        "@babel/plugin-syntax-dynamic-import": "^7.7.4",
        "@babel/polyfill": "^7.7.0",
        "@babel/preset-env": "^7.7.4",
        "@babel/preset-flow": "^7.7.4",
        "@babel/preset-react": "^7.7.4",
        "@loadable/babel-plugin": "^5.13.2",
        "@loadable/webpack-plugin": "^5.15.2",
        "ajv": "^8.11.2",
        "babel-loader": "^8.0.5",
        "babel-preset-es2015": "6.3.13",
        "cheerio": "^1.0.0-rc.12",
        "clean-webpack-plugin": "^4.0.0",
        "css-loader": "^3.2.1",
        "cz-conventional-changelog": "^3.0.2",
        "exports-loader": "^0.6.4",
        "file-loader": "^5.1.0",
        "html-loader": "^0.5.1",
        "less-loader": "^4.0.5",
        "react-app-rewired": "2.1.8",
        "script-loader": "^0.7.1",
        "semantic-ui": "^2.4.2",
        "standard-version": "^7.0.1",
        "style-loader": "^1.0.1",
        "terser-webpack-plugin": "^2.3.5",
        "url-loader": "^3.0.0",
        "webpack": "^5.38.1",
        "webpack-cli": "^4.9.1",
        "webpack-dev-server": "^4.11.1"
    },

also added these rules in webpack.config.js file-

module: {
      rules: [{
          test: /\.m?(js|ts)x?$/,
          include: [
             path.resolve(__dirname, 'src'),
             path.resolve(__dirname, 'packages/apis/src'),
             path.resolve(__dirname, 'packages/atoms/src'),
             path.resolve(__dirname, 'packages/molecules/src'),
             path.resolve(__dirname, 'packages/organisms/src'),
             path.resolve(__dirname, 'packages/pages/src'),
             path.resolve(__dirname, 'packages/units/src'),
             path.resolve(__dirname, 'packages/themes/themes'),
             path.resolve(__dirname, 'packages/store/src'),
          ],
          resolve: {
            fullySpecified: false,
          },
          use: {
            loader: 'babel-loader',
            // options: {
            //   presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-flow', {
            //     'plugins': ['@babel/plugin-proposal-class-properties']
            //   }]
            // },
          },

        },
        {
          test: /\.xlsx$/,
          loader: "xlsx-loader"
        },
        {
          test: /\.html$/,
          use: {
            loader: 'html-loader',
            options: {
              attrs: false,
            },
          },
        },
        {
          test: /\.less$/,
          use: [{
              loader: 'style-loader',
            },
            {
              loader: 'css-loader',
            },
            {
              loader: 'less-loader',
            },
          ],
        },
        {
          test: /\.css$/,
          use: ['style-loader', 'css-loader'],
        },
        {
          test: /\.(woff|woff2|eot|ttf)$/,
          use: {
            loader: 'url-loader',
            options: {
              name: 'fonts/[contenthash].[ext]',
            },
          },
        },
        {
          test: /\.(jpg|jpeg|png|svg|gif)$/,
          use: {
            loader: 'url-loader',
            options: {
              name: 'img/[contenthash].[ext]',
            },
          },
        },
      ],
    },

I have tried lots of solution from stack overflow like adding presets options but nothing work for me

0 Answers0