javascript - 禁用 NextJs 实验应用程序目录

标签 javascript typescript next.js

我正在开发一个现实生活中的项目,并决定测试 Next js 13 版本附带的新 App 目录,我注意到一些问题,例如我的图像和字体未正确加载等。我想停止使用实验性应用程序 Dir. 有没有办法在本地选择退出实验应用程序目录,而无需重新安装 next-app?,我是 Next js 的新手。

这是我的 next.config.js

/** @type {import('next').NextConfig} */
const path = require("path");

const nextConfig = {
  experimental: {
    appDir: true,
  },
  sassOptions: {
    includePaths: [path.join(__dirname, "styles")],
  },
  reactStrictMode: true,
  images: {
    loader: "akamai",
    path: "/",
  },
};

module.exports = nextConfig;

每当我将 appDir 设置为 false 时,都会收到以下错误

Error: > The `app` directory is experimental. To enable, add `appDir: true` to your `next.config.js` configuration under `experimental`. See https://nextjs.org/docs/messages/experimental-app-dir-config
    at Object.findPagesDir (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\lib\find-pages-dir.js:80:19)
    at DevServer.getRoutes (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\dev\next-dev-server.js:141:59)
    at new Server (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\base-server.js:115:47)
    at new NextNodeServer (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\next-server.js:73:9)
    at new DevServer (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\dev\next-dev-server.js:100:9)
    at NextServer.createServer (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\next.js:152:24)
    at C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\next.js:165:42
    at async NextServer.prepare (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\next.js:134:24)
    at async Server.<anonymous> (C:\Users\Favour\OneDrive\Documents\Code School\WebDevelopment\Projects\ecommerce\frontend\node_modules\next\dist\server\lib\render-server.js:92:17) {
  type: 'Error'
}

最佳答案

基于 https://nextjs.org/docs/messages/experimental-app-dir-config 中的文档

If you do not want to use the new app/ directory features yet, but have a directory named app/, rename the directory to something else.

尝试重命名或删除 app/ 目录,并删除 next.config.js 中的 appDir: true。如果您打算删除 app/ 目录,请将页面文件移至 src/pages 中。

关于javascript - 禁用 NextJs 实验应用程序目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76056491/

相关文章:

reactjs - Nextjs 热重载每次更改顺风 css 需要 8-10 秒

javascript - 如何为多个用户使用人员选择器? SharePoint 2013

javascript - 嵌套的 JSON 不显示在 ng-repeat 中

reactjs - 在 NextJS 中的 getServerSideProps 中访问 Redux 存储

node.js - 在 Google App Engine 上运行的 NextJs 应用程序的正确配置是什么?

reactjs - 在 TypeScript 中使用高阶组件来省略使用时的 React 属性

javascript - 在 ES6 中识别不同的文件类型

javascript - 使用 npm 脚本编译 sass - node-sass 返回 EISDIR : illegal operation on a directory

javascript - 如何国际化 ng-bootstrap 日期选择器?

typescript - 确保泛型类型在 Typescript 中只有原始属性