【发布时间】:2022-01-23 05:03:57
【问题描述】:
我目前在 Meteor Cloud 的免费层上部署了一个应用程序,用于测试目的。
该应用程序在 localhost 上运行良好,但在将其部署到服务器后,该应用程序显示一个空白页面,即使它已成功部署。控制台出现错误提示:
Uncaught Error: Cannot find module '/imports/ui/app'
此应用使用 react-router 6。以下是相应行的 main.js 摘录:
...
import App from '/imports/ui/app'; //the line that is causing headache
import Dashboard from '/imports/ui/dashboard';
...
Meteor.startup(() => {
Tracker.autorun(() => {
const routes = (
<>
<Router>
<CurrentUserProfileProvider>
<Routes>
<Route path='/' element={<App />}/>
<Route element={<ProtectedRoutes/>}>
<Route path='/verify' element={<React.Suspense fallback={<>...</>}> <Verify/> </React.Suspense>} />
<Route path='/dashboard' element={<React.Suspense fallback={<>...</>}> <Dashboard /> </React.Suspense>} />
</Route>
</Routes>
</CurrentUserProfileProvider>
</Router>
</>
);
render(routes, document.getElementById('target'));
});
});
App.js
const App = () => {
...
return (
//some jsx here
)
}
export default App;
我尝试了几种形式的路径,例如"../imports/ui/app" 和 ../imports/ui/app.js 但仍在部署的服务器上,发生同样的错误。有没有人遇到过类似的问题?或者我在这里错过了什么?我是 React Router 6 的新手,但我仍在努力弄明白。感谢我能在这里得到的任何帮助。
【问题讨论】:
-
您好,这里需要更多信息:1. main.js 的位置 2. 文件的确切名称 - 部署后大写很重要,因为部署在 Linux 上,这可能是一个问题 - 另外,你必须在你的案例中包含文件扩展名“.js” 3.“app.js”的确切路径是它“[MeteorProjectFolder]/imports/...”
-
如果开发。环境。工作正常,也许您可以尝试在 localhost 上进行生产构建并仔细查看浏览器的缩小流星文件:“$ meteor run --production”forums.meteor.com/t/meteor-run-vs-meteor-run-production
标签: reactjs meteor react-router