React.lazy“无法导入动态导入的模块”

时间:2020-05-15 23:23:19

标签: reactjs lazy-evaluation

我刚刚开始尝试在我的React应用程序中实现延迟加载。我正在学习React.lazy和Suspense的延迟加载。

以下是文档中的代码示例:

import React, { Suspense } from 'react';

const OtherComponent = React.lazy(() => import('./OtherComponent'));

function MyComponent() {
  return (
    <div>
      <Suspense fallback={<div>Loading...</div>}>
        <OtherComponent />
      </Suspense>
    </div>
  );
}

然后是我的代码:

import React, { lazy, Suspense } from 'react';

const Home = lazy(() => import('./containers/home/home.component'));

const App = () => {
    return (
        <div>
            <Suspense fallback={<div>...Loading</div>}>
                <Home />
            </Suspense>
        </div>
    );
};

export default App;

由于某种原因,我的代码给出了以下错误:

Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.


react-dom.development.js:11865 Uncaught TypeError: Failed to fetch dynamically imported module: http://localhost:3000/static/js/containers/home/home


The above error occurred in one of your React components:
    in Unknown (at App.js:38)
    in Suspense (at App.js:37)
    in div (at App.js:35)
    in App (created by ConnectFunction)
    in ConnectFunction (at src/index.js:14)
    in Router (created by BrowserRouter)
    in BrowserRouter (at src/index.js:13)
    in Provider (at src/index.js:12)

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://**linkNotAllowedByStackOverFlow**/react-error-boundaries to learn more about error boundaries.

我不确定我在这里做错了什么,很想听听任何经历过类似情况的人

1 个答案:

答案 0 :(得分:0)

不确定引起此问题的确切原因,但似乎某些软件包安装已损坏,删除node_modules并重新安装解决了该问题。