【发布时间】:2019-12-26 14:04:21
【问题描述】:
在我的代码中是这样的:
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'
import React, { Suspense, lazy } from 'react'
import Header from '../components/Header'
import Left from '../components/Left'
import Footer from '../components/Footer'
const Home = lazy(() => import('../pages/home'))
const Routes = () => (
<Router>
<div>
<Header />
<aside className="g-left-menu">
<Left />
</aside>
<main className="g-page-content">
<Suspense fallback={<div>loading...</div>}>
<Switch>
<Route exact path="/" component={Home}/>
</Switch>
</Suspense>
</main>
<Footer />
</div>
</Router>
)
export default Routes
在我的 package.json 中:
"scripts": {
"build": "cross-env NODE_ENV=development webpack --mode development",
}
当我运行 npm run build 时:
Module not found: Error: Can't resolve '../components/Footer'
Module not found: Error: Can't resolve '../components/Header'
Module not found: Error: Can't resolve '../components/Leftmenu'
在我的 webpack.config.js 中
resolve: {
extensions: [ '.jsx', '.js' ],
modules: [
path.join(__dirname, 'node_modules'),
path.resolve(__dirname, 'client'),
],
...
}
enter image description here 但是当我运行 npm run build 时,出现错误: enter image description here
我的文件目录如下: enter image description here
【问题讨论】:
-
使用
../../components/Footer而不是../components/Footer -
还有错误:找不到模块:错误:无法解析'../../components/Footer'
-
正如 Franret 所说 - 你的路由器在 components 文件夹中吗?
-
谢谢大家。该文件没有正确的扩展名
标签: javascript reactjs