使用 Cloudflare Pages 构建的 npm 会导致"找不到模块"



我试图将我的create-react-app网站上传到Cloudflare Pages,一切都很顺利,但是,当我将这行:import NotFoundPage from "pages/NotFound.js";的代码添加到我的App.js时,它抛出一个相当奇怪的错误:

22:57:43.995    Failed to compile.
22:57:43.996    
22:57:43.996    ./src/App.js
22:57:43.996    Cannot find module: 'pages/NotFound.js'. Make sure this package is installed.
22:57:43.996    
22:57:43.996    You can install this package by running: npm install pages/NotFound.js.

更令人困惑的是,它上面的代码工作得很好:

import PrivacyPolicyPage from "pages/PrivacyPolicy.js";
import TermsOfUsePage from "pages/TermsOfUse.js";
import NotFoundPage from "pages/NotFound.js";

有没有人知道为什么会发生这种情况,最重要的是,为什么应用程序是建立在我的家庭环境(Windows 11),而不是Cloudflare页面?

NotFound.js的代码:

import React, { useState } from 'react';
import { Helmet } from 'react-helmet';
import ScrollToTop from 'components/ScrollToTop';
import NotFound from 'components/NotFound';
import Sidebar from 'components/Sidebar';
import Navbar from 'components/Navbar';
import Footer from 'components/Footer';
function NotFoundPage() {
const [isOpen, setIsOpen] = useState(false);
const toggle = () => {
setIsOpen(!isOpen);
};
return (
<>
<Helmet>
<link rel="stylesheet" href="/css/notfound.css" />
</Helmet>
<ScrollToTop />
<Sidebar isOpen={isOpen} toggle={toggle} />
<Navbar noFade toggle={toggle} />
<NotFound />
<Footer sticky />
</>
);
}
export default NotFoundPage;

App.js:

import React from "react";
import "App.css";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import Home from "pages";
import PrivacyPolicyPage from "pages/PrivacyPolicy.js";
import TermsOfUsePage from "pages/TermsOfUse.js";
import NotFoundPage from "pages/NotFound.js";
function App() {
return (
<Router>
<Switch>
<Route path="/" component={Home} exact />
<Route path="/privacy-policy" component={PrivacyPolicyPage} exact />
<Route path="/terms-of-use" component={TermsOfUsePage} exact />
<Route component={NotFoundPage} />
</Switch>
</Router>
);
}
export default App;

注意:我在导入字符串开始时尝试了./,尝试在导入对象周围添加{},并且这些都没有工作,抛出相同的错误。npm build with Browserify - Error: Cannot find module did not help.

感谢所有能帮忙的人。

我设法通过(我知道这听起来有多奇怪)将pages目录重命名为page来解决这个问题。我猜Cloudflare正在用它做一些奇怪的事情,但我真的不能确定。

最新更新