马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
近来碰到一个题目 突然要一个单页面的项目 用惯了Next.js 而 create-react-app 又不保举且不灵活 最终找发现Nextjs也支持单页面应用 以下是利用Next.js构建单页面React应用过程
1 正常创建项目 (我选择的是Pages Router 而非 AppRoute)
2 修改设置文件
next.config.ts- import type { NextConfig } from "next";
- const nextConfig: NextConfig = {
- output: "export",
- distDir: "dist", //默认打包后目录名 `build`
- };
- export default nextConfig;
复制代码 3 删除 src/api 目次 单页面应用 不支持api路由功能 放着会警告
两个常用页面 实验
index.tsx- import Link from "next/link";
- import { useRouter } from "next/router";
- export default function Home() {
- const router = useRouter();
- // 编程式导航示例
- const goToAbout = () => {
- router.push("/about"); // 客户端跳转
- };
- return (
- <div>
- <h1>SPA Home Page</h1>
- {/* 声明式导航 */}
- <Link href='/about'>
- About Page
- </Link>
- {/* 编程式导航 */}
- <button onClick={goToAbout}>Go to About</button>
- </div>
- );
- }
复制代码 about.tsx- import Link from "next/link";
- import { useRouter } from "next/router";
- export default function AboutPage() {
- const router = useRouter();
- const goToAbout = () => {
- router.push("/");
- };
- return (
- <div>
- <h1>SPA AboutPage</h1>
- <Link href='/'>Home Page</Link>
- <button onClick={goToAbout}>Go to Home</button>
- </div>
- );
- }
复制代码 在两个页面间跳转 发现已经不需加载 实现了单页面应用
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |