Reactjs 如何在React服务器端渲染中支持绝对路径导入?
我试图为我的React应用程序实现服务器端渲染,但我偶然发现了一个与组件的绝对路径导入相关的问题。当我尝试运行服务器时,出现错误:Reactjs 如何在React服务器端渲染中支持绝对路径导入?,reactjs,webpack,babeljs,server-side-rendering,Reactjs,Webpack,Babeljs,Server Side Rendering,我试图为我的React应用程序实现服务器端渲染,但我偶然发现了一个与组件的绝对路径导入相关的问题。当我尝试运行服务器时,出现错误: Error: Cannot find module 'components/Header/Header.js' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25) at Module.require
Error: Cannot find module 'components/Header/Header.js'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/crs/Desktop/app/src/App.js:4:1)
at Module._compile (module.js:652:30)
at Module._compile (/Users/crs/Desktop/app/node_modules/pirates/lib/index.js:99:24)
at Module._extensions..js (module.js:663:10)
at Object.newLoader [as .js] (/Users/crs/Desktop/app/node_modules/pirates/lib/index.js:104:7)
at Module.load (module.js:565:32)
另一方面,
组件只有一个页眉和一个页脚组件
....
return res.send(
data.replace(
'<div id="root"></div>',
`<div id="root">${ReactDOMServer.renderToString(<App />)}</div>`
)
);
....
import React from "react";
import Header from "components/Header/Header.js";
import Footer from "components/Footer/Footer";
const App = () => {
return (
<div>
<Header/>
<Footer />
</div>
);
};
export default App;
从“React”导入React;
从“components/Header/Header.js”导入表头;
从“组件/页脚/页脚”导入页脚;
常量应用=()=>{
返回(
);
};
导出默认应用程序;
当我使用react sripts start
运行代码时,import语句可以工作,因为我的根目录上有jsconfig.json
,但是现在导入在服务器上给出了一个错误
是否有babel插件或其他方法来修复此问题?'components/Header/Header.js'您正在导入它。共享一些代码可能是因为您没有给出正确的路径。您需要为此共享文件夹结构。@PrakashKarena用更多代码更新了问题。当我没有使用React SSR时,代码运行得很好。我负责绝对导入的jsconfig.json文件,但在服务器上出现了一个问题。您使用什么来构建SSR?因为这个问题最近引起了一些注意,我最终使用了它。