Nextjs导出为页面找不到模块

时间:2019-07-12 09:50:38

标签: next.js

嗨,我刚刚开始玩nextjs,看看它是否适合我的用例。我想用一些动态路线导出网站。

我的页面文件夹结构如下

page
  locales
    [locale]
      [slug].js

运行next develop时,我可以在http://localhost:3000/locales/de-DE/summer-dress-f上访问页面。

所以现在我正尝试使用next.config.js导出页面,例如

module.exports = {
  exportPathMap: function() {
    return {
      "/locales/de-DE/summer-dress-f": {
        page: "/locales",
        query: { locale: "de-DE", slug: "summer-dress-f" }
      }
    };
  }
};

next build运行正常,但是当我运行next export时收到错误消息

Error: Cannot find module for page: /locales
    at pageNotFoundError (/Users/bmathew/Desktop/workspace/next-demo/node_modules/next-server/dist/server/require.js:13:17)

有什么想法我在这里想念什么吗?

4 个答案:

答案 0 :(得分:1)

最后弄清楚了。路径图应为

module.exports = {
  exportPathMap: function() {
    return {
      "/locales/de-DE/summer-dress-f": {
        page: "/locales/[locale]/[slug]",
        query: { locale: "de-DE", slug: "summer-dress-f" }
      }
    };
  }
};

答案 1 :(得分:1)

页面组件命名应该是唯一的。 所以我有 about.tsx 名称:AboutPage 和 faqs.tsx 名称:AboutPage 以及修改 faqs.tsx 使其唯一固定它:)

答案 2 :(得分:0)

运行npm install似乎可以解决此问题。

答案 3 :(得分:0)

我刚刚遇到了类似的错误,我只是忘记在library(stringr) lapply(strsplit(turns, "\\s+"), function(x) x[str_count(x, '[aeiou]') == 1]) 之前运行#[[1]] #[1] "him" "to" "stir" "him" "up" "now" "and" #[[2]] #[1] "when" "when" "him" "he" "on" "the" #[[3]] #[1] "yes" "it" "for" "a" "long" #[[4]] #[1] "it" "was"