Netlify部署的TypeError结果:无法读取未定义的属性“数据”

时间:2019-08-26 18:27:54

标签: wordpress content-management-system web-deployment gatsby netlify

我已经使用Wordpress作为无头CMS完成了我的项目,这项工作在本地完成;但是,当部署到netlify时,我无法获取“ TypeError:无法读取未定义的属性'replace'”

该错误正在引用我的节点文件,该文件包含在下面。

我尝试更改配置文件,更新程序包,并已在本地检查了所有内容。本地一切正常,我的活动服务器也正常运行,在尝试部署之前,我已迁移服务器。

Netlify构建过程和错误日志

2:14:44 PM: Build ready to start
2:14:47 PM: build-image version: 9e0f207a27642d0115b1ca97cd5e8cebbe492f63
2:14:47 PM: build-image tag: v3.3.2
2:14:47 PM: buildbot version: ef8d0929ed0baabafd8bbb7d0b021e1fc24180c0
2:14:47 PM: Fetching cached dependencies
2:14:47 PM: Starting to download cache of 255.0KB
2:14:47 PM: Finished downloading cache in 84.166898ms
2:14:47 PM: Starting to extract cache
2:14:47 PM: Failed to fetch cache, continuing with build
2:14:47 PM: Starting to prepare the repo for build
2:14:47 PM: No cached dependencies found. Cloning fresh repo
2:14:47 PM: git clone https://github.com/rstowe1/wp-portfolio
2:14:48 PM: Preparing Git Reference refs/heads/master
2:14:48 PM: Starting build script
2:14:48 PM: Installing dependencies
2:14:50 PM: Downloading and installing node v10.16.3...
2:14:51 PM: Downloading https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz...
2:14:51 PM:   0
2:14:51 PM: .0%
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: 3
2:14:51 PM: .
2:14:51 PM: 6
2:14:51 PM: %
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: 9
2:14:51 PM: .
2:14:51 PM: 2
2:14:51 PM: %
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM: #
2:14:51 PM:  12.4%
2:14:51 PM: 
############
2:14:51 PM:                                  17.0%
2:14:52 PM: 
##############
2:14:52 PM:  20.1%
2:14:52 PM: 
################
2:14:52 PM:                                              22.4%
2:14:52 PM: 
##################
2:14:52 PM:      26.3%
2:14:52 PM: 
####################
2:14:52 PM:  28.9%
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: #
2:14:52 PM: 3
2:14:52 PM: 0
2:14:52 PM: .
2:14:52 PM: 5
2:14:52 PM: %
2:14:52 PM: 
######################
2:14:52 PM: #                                                   32.0%
2:14:52 PM: 
########################
2:14:52 PM:                           33.4%
2:14:52 PM: 
########################
2:14:52 PM:                                         34.5%
2:14:52 PM: 
#########################
2:14:52 PM:  35.7%
2:14:53 PM: 
#########################
2:14:53 PM:      36.1%
2:14:53 PM: 
###########################
2:14:53 PM:                         38.6%
2:14:53 PM: 
############################
2:14:53 PM:        39.9%
2:14:53 PM: 
#############################
2:14:53 PM:                                              41.6%
2:14:53 PM: 
###############################
2:14:53 PM:                               43.5%
2:14:53 PM: 
################################
2:14:53 PM:              45.4%
2:14:53 PM: 
#################################
2:14:53 PM:  47.1%
2:14:53 PM: 
###################################
2:14:53 PM:                                49.0%
2:14:53 PM: 
####################################
2:14:53 PM:                                      50.9%
2:14:53 PM: 
#####################################                                     52.3%
2:14:54 PM: #
2:14:54 PM: #
2:14:54 PM: #
2:14:54 PM: #
2:14:54 PM: ############
2:14:54 PM: #
2:14:54 PM: #################
2:14:54 PM: ####
2:14:54 PM:  5
2:14:54 PM: 3.6%
2:14:54 PM: 
###########################
2:14:54 PM: ############                                   55.3%
2:14:54 PM: 
#########################################
2:14:54 PM:                     57.0%
2:14:54 PM: 
##########################################                                58.8%
2:14:54 PM: 
###########################################
2:14:54 PM:            60.7%
2:14:54 PM: 
#############################################
2:14:54 PM:  62.8%
2:14:54 PM: 
#############################################
2:14:54 PM: #                            65.0%
2:14:54 PM: 
################################################
2:14:54 PM:  67.3%
2:14:54 PM: 
##################################################
2:14:54 PM:    70.5%
2:14:55 PM: 
####################################################
2:14:55 PM:               73.2%
2:14:55 PM: 
######################################################
2:14:55 PM:  76.1%
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: 7
2:14:55 PM: 9
2:14:55 PM: .
2:14:55 PM: 1
2:14:55 PM: %
2:14:55 PM: 
###################################
2:14:55 PM: ########################               82.2%
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: ####################             85.6%
2:14:55 PM: 
##########################
2:14:55 PM: ####################################            86.3%
2:14:55 PM: 
#####################
2:14:55 PM: ###############################################      94.9%
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: ###################
2:14:55 PM: ########################    97.6%
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: #
2:14:55 PM: ################################################################# 100.0%
2:14:56 PM: Computing checksum with sha256sum
2:14:56 PM: Checksums matched!
2:14:59 PM: Now using node v10.16.3 (npm v6.9.0)
2:14:59 PM: Attempting ruby version 2.6.2, read from environment
2:15:01 PM: Using ruby version 2.6.2
2:15:01 PM: Using PHP version 5.6
2:15:01 PM: Started restoring cached node modules
2:15:01 PM: Finished restoring cached node modules
2:15:01 PM: Installing NPM modules using NPM version 6.9.0
2:15:43 PM: > sharp@0.22.1 install /opt/build/repo/node_modules/sharp
2:15:43 PM: > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
2:15:43 PM: info
2:15:43 PM: sharp
2:15:43 PM:  Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.7.4/libvips-8.7.4-linux-x64.tar.gz
2:15:46 PM: > core-js@2.6.9 postinstall /opt/build/repo/node_modules/core-js
2:15:46 PM: > node scripts/postinstall || echo "ignore"
2:15:46 PM: Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
2:15:46 PM: The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
2:15:46 PM: > https://opencollective.com/core-js 
2:15:46 PM: > https://www.patreon.com/zloirock 
2:15:46 PM: Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
2:15:46 PM: > core-js-pure@3.1.4 postinstall /opt/build/repo/node_modules/core-js-pure
2:15:46 PM: > node scripts/postinstall || echo "ignore"
2:15:47 PM: Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
2:15:47 PM: The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
2:15:47 PM: > https://opencollective.com/core-js 
2:15:47 PM: > https://www.patreon.com/zloirock 
2:15:47 PM: Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
2:15:47 PM: > gatsby-telemetry@1.1.7 postinstall /opt/build/repo/node_modules/gatsby-telemetry
2:15:47 PM: > node src/postinstall.js
2:15:47 PM: > cwebp-bin@5.1.0 postinstall /opt/build/repo/node_modules/cwebp-bin
2:15:47 PM: > node lib/install.js
2:15:48 PM:   ✔ cwebp pre-build test passed successfully
2:15:48 PM: > mozjpeg@6.0.1 postinstall /opt/build/repo/node_modules/mozjpeg
2:15:48 PM: > node lib/install.js
2:15:48 PM:   ✔ mozjpeg pre-build test passed successfully
2:15:48 PM: > pngquant-bin@5.0.2 postinstall /opt/build/repo/node_modules/pngquant-bin
2:15:48 PM: > node lib/install.js
2:15:49 PM:   ✔ pngquant pre-build test passed successfully
2:15:49 PM: > styled-components@4.3.2 postinstall /opt/build/repo/node_modules/styled-components
2:15:49 PM: > node ./scripts/postinstall.js || exit 0
2:15:49 PM: Use styled-components at work? Consider supporting our development efforts at https://opencollective.com/styled-components
2:15:53 PM: npm WARN
2:15:53 PM:  optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
2:15:53 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2:15:53 PM: added 1883 packages from 1026 contributors and audited 31033 packages in 50.015s
2:15:53 PM: found 1 critical severity vulnerability
2:15:53 PM:   run `npm audit fix` to fix them, or `npm audit` for details
2:15:53 PM: NPM modules installed
2:15:53 PM: Started restoring cached go cache
2:15:53 PM: Finished restoring cached go cache
2:15:54 PM: unset GOOS;
2:15:54 PM: unset GOARCH;
2:15:54 PM: export GOROOT='/opt/buildhome/.gimme/versions/go1.12.linux.amd64';
2:15:54 PM: export PATH="/opt/buildhome/.gimme/versions/go1.12.linux.amd64/bin:${PATH}";
2:15:54 PM: go version >&2;
2:15:54 PM: export GIMME_ENV='/opt/buildhome/.gimme/env/go1.12.linux.amd64.env';
2:15:54 PM: go version go1.12 linux/amd64
2:15:54 PM: Installing missing commands
2:15:54 PM: Verify run directory
2:15:54 PM: Executing user command: gatsby build
2:15:58 PM: success open and validate gatsby-configs — 0.123
2:15:59 PM: success load plugins — 1.093
2:16:00 PM: success onPreInit — 0.020
2:16:00 PM: success delete html and css files from previous builds — 0.019
2:16:00 PM: success initialize cache — 0.018
2:16:00 PM: success copy gatsby files — 0.061
2:16:00 PM: success onPreBootstrap — 0.028
2:16:00 PM: info Creating GraphQL type definition for File
2:16:00 PM: The request failed with error code "ECONNREFUSED"
2:16:00 PM: error #11321 PLUGIN Cannot read property 'data' of undefined
2:16:00 PM: "gatsby-source-wordpress" threw an error while running the sourceNodes lifecycle:
2:16:00 PM: Cannot read property 'data' of undefined
2:16:00 PM: See our docs page for more info on this error: https://gatsby.dev/issue-how-to
2:16:00 PM: 
2:16:00 PM:   TypeError: Cannot read property 'data' of undefined
2:16:00 PM:   
2:16:00 PM:   - fetch.js:141 fetch
2:16:00 PM:     [repo]/[gatsby-source-wordpress]/fetch.js:141:21
2:16:00 PM:   
2:16:00 PM:   - next_tick.js:68 process._tickCallback
2:16:00 PM:     internal/process/next_tick.js:68:7
2:16:00 PM:   
2:16:00 PM: 
2:16:00 PM: Skipping functions preparation step: no functions directory set
2:16:00 PM: Caching artifacts
2:16:00 PM: Started saving node modules
2:16:00 PM: Finished saving node modules
2:16:00 PM: Started saving pip cache
2:16:00 PM: Finished saving pip cache
2:16:00 PM: Started saving emacs cask dependencies
2:16:00 PM: Finished saving emacs cask dependencies
2:16:00 PM: Started saving maven dependencies
2:16:00 PM: Finished saving maven dependencies
2:16:00 PM: Started saving boot dependencies
2:16:00 PM: Finished saving boot dependencies
2:16:00 PM: Started saving go dependencies
2:16:00 PM: Finished saving go dependencies
2:16:04 PM: Error running command: Build script returned non-zero exit code: 1
2:16:04 PM: Failing build: Failed to build site
2:16:04 PM: failed during stage 'building site': Build script returned non-zero exit code: 1
2:16:04 PM: Finished processing build request in 1m17.398214412s

Gatsby-Node.js

const _ = require(`lodash`)
const Promise = require(`bluebird`)
const path = require(`path`)
const slash = require(`slash`)

exports.createPages = ({ graphql, actions }) => {
  const { createPage } = actions
  // createRedirect({ fromPath: "/", toPath: "/home", redirectInBrowser: true, isPermanent: true })
  return new Promise((resolve, reject) => {
    // ==== PAGES (WORDPRESS NATIVE) ====
    graphql(
      `
        {
          allWordpressPage {
            edges {
              node {
                id
                slug
                status
                template
                title
                content
                template
              }
            }
          }
        }
      `,
    )
      .then(result => {
        if (result.errors) {
          console.log(result.errors)
          reject(result.errors)
        }

        const pageTemplate = path.resolve("./src/templates/page.js")
        const portfolioUnderContentTemplate = path.resolve("./src/templates/portfolioUnderContent.js")
        _.each(result.data.allWordpressPage.edges, edge => {

          createPage({
            path: `/${edge.node.slug}/`,
            component: slash(edge.node.template === "portfolio_under_content.php" ? portfolioUnderContentTemplate : pageTemplate),
            context: edge.node,
          })
        })
      })
      // ==== END PAGES ====

      // ==== PORTFOLIO ====
      .then(() => {
        graphql(
          `
            {
              allWordpressWpPortfolio{
                edges{
                  node{
                    id
                    title
                    slug
                    excerpt
                    content
                    featured_media{
                      source_url
                    }
                    acf{
                      portfolio_url
                    }
                  }
                }
              }
            }
          `,
        ).then(result => {
          if (result.errors) {
            console.log(result.errors)
            reject(result.errors)
          }
          const portfolioTemplate = path.resolve("./src/templates/portfolio.js")
          _.each(result.data.allWordpressWpPortfolio.edges, edge => {
            createPage({
              path: `/portfolio/${edge.node.slug}/`,
              component: slash(portfolioTemplate),
              context: edge.node,
            })
          })
        })
      })
      // ==== END PORTFOLIO ====
      // ==== BLOG POSTS ====
      .then(() => {
        graphql(`
            {
              allWordpressPost{
                edges{
                  node{
                    excerpt
                    wordpress_id
                    date(formatString: "Do MMM YYYY HH:mm")
                    title
                    content
                    slug
                  }
                }
              }
            }
          `).then(result => {
          if (result.errors) {
            console.log(result.errors)
            reject(result.errors)
          }

          const posts = result.data.allWordpressPost.edges
          const postsPerPage = 2
          const numberOfPages = Math.ceil(posts.length / postsPerPage)
          const blogPostListTemplate = path.resolve("./src/templates/blogPostList.js")

          Array.from({ length: numberOfPages }).forEach((page, index) => {
            createPage({
              component: slash(blogPostListTemplate),
              path: index === 0 ? "/blog" : `/blog/${index + 1}`,
              context: {
                posts: posts.slice(index * postsPerPage, (index * postsPerPage) + postsPerPage),
                numberOfPages,
                currentPage: index + 1,
              },
            })
          })

          const pageTemplate = path.resolve("./src/templates/page.js")
          _.each(posts, (post) => {
            createPage({
              path: `/post/${post.node.slug}`,
              component: slash(pageTemplate),
              context: post.node,
            })
          })

          resolve()
        })
      })
  })
}

Gatsby-Config.js

require('dotenv').config({
  path:'.env'
})

module.exports = {
  siteMetadata: {
    title: `Gatsby Default Starter`,
    description: `Kick off your next, great Gatsby project with this default starter. This barebones starter ships with the main Gatsby configuration files you might need.`,
    author: `@gatsbyjs`,
  },
  plugins: [
    `gatsby-plugin-styled-components`,
    `gatsby-plugin-react-helmet`,
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images`,
      },
    },
    `gatsby-transformer-sharp`,
    `gatsby-plugin-sharp`,
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: `gatsby-starter-default`,
        short_name: `starter`,
        start_url: `/`,
        background_color: `#663399`,
        theme_color: `#663399`,
        display: `minimal-ui`,
        icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site.
      },
    },
    {
      resolve: "gatsby-source-wordpress",
      options: {

        baseUrl: process.env.API_URL,
        protocol: process.env.API_PROTOCOL,
        hostingWPCOM: false,
        useACF: true,
        acfOptionPageIds: [],
        auth: {
          htaccess_user: "your-htaccess-username",
          htaccess_pass: "your-htaccess-password",
          htaccess_sendImmediately: false,
          wpcom_app_clientSecret: process.env.WORDPRESS_CLIENT_SECRET,
          wpcom_app_clientId: "54793",
          wpcom_user: "gatsbyjswpexample@gmail.com",
          wpcom_pass: process.env.WORDPRESS_PASSWORD,
          jwt_user: process.env.JWT_USER,
          jwt_pass: process.env.JWT_PASSWORD,
          jwt_base_path: "/jwt-auth/v1/token",
        },
        cookies: {},
        verboseOutput: false,
        perPage: 100,
        searchAndReplaceContentUrls: {
          sourceUrl: "https://source-url.com",
          replacementUrl: "https://replacement-url.com",
        },
        concurrentRequests: 10,
        includedRoutes: [
          "**/*/*/categories",
          "**/*/*/posts",
          "**/*/*/pages",
          "**/*/*/media",
          "**/*/*/tags",
          "**/*/*/taxonomies",
          "**/*/*/users",
          "**/*/*/menus",
          "**/*/*/portfolio",
        ],
        excludedRoutes: [],
        normalizer: function({ entities }) {
          return entities
        },
      },
    },
    'gatsby-plugin-netlify'
  ],
}

Package.json

{
  "name": "gatsby-starter-default",
  "private": true,
  "description": "A simple starter to get up and developing quickly with Gatsby",
  "version": "0.1.0",
  "author": "Kyle Mathews <mathews.kyle@gmail.com>",
  "dependencies": {
    "@material-ui/core": "^4.3.0",
    "babel-plugin-styled-components": "^1.10.6",
    "gatsby": "^2.13.45",
    "gatsby-image": "^2.2.7",
    "gatsby-plugin-manifest": "^2.2.4",
    "gatsby-plugin-netlify": "^2.1.3",
    "gatsby-plugin-offline": "^2.2.4",
    "gatsby-plugin-react-helmet": "^3.1.2",
    "gatsby-plugin-sharp": "^2.2.9",
    "gatsby-plugin-styled-components": "^3.1.2",
    "gatsby-source-filesystem": "^2.1.7",
    "gatsby-source-wordpress": "^3.1.12",
    "gatsby-transformer-sharp": "^2.2.5",
    "prop-types": "^15.7.2",
    "react": "^16.8.6",
    "react-dom": "^16.9.0",
    "react-grid-system": "^4.4.11",
    "react-helmet": "^5.2.1",
    "styled-components": "^4.3.2"
  },
  "devDependencies": {
    "prettier": "^1.18.2"
  },
  "keywords": [
    "gatsby"
  ],
  "license": "MIT",
  "scripts": {
    "build": "gatsby build",
    "develop": "gatsby develop",
    "format": "prettier --write src/**/*.{js,jsx}",
    "start": "npm run develop",
    "serve": "gatsby serve",
    "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\""
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/gatsbyjs/gatsby-starter-default"
  },
  "bugs": {
    "url": "https://github.com/gatsbyjs/gatsby/issues"
  }
}

我需要知道我在哪里搞砸了,以便可以进行修复和部署。

对我的错误及其纠正方法的任何见解,将不胜感激。

1 个答案:

答案 0 :(得分:0)

不确定您是否仍需要帮助,但我遇到了同样的问题,尝试解决了数小时,然后才终于解决。 如果您和我有同样的问题,那是因为您尝试将API(在本例中为无头的Wordpress安装)移动到服务器,但尚未在其中启用永久链接。 如果这是问题所在,则可以在以下情况下检查本地WP安装是否返回了某些内容: for term in BytesRefIterator.cast_(terms_enum): print(term.utf8ToString()) 。如果可以,但您托管的WP安装没有(YOUR_LOCAL_WP/wp-json/wp/v2/posts),您发现了问题。

为了解决该问题,您可以简单地登录到您的托管WP安装 HOSTED_WP/wp-json/wp/v2/posts-> 设置-> 永久链接。 在此处选择帖子名并保存更改。在“保存更改”按钮下方,您将获得一个类似于以下内容的代码段:

HOSTED_WP/wp-admin

通过WP安装登录到服务器,然后通过<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 登录到Web根文件夹来创建或添加到.htaccess文件中。通常在cd中。 将上面的代码段粘贴到您的.htaccess文件中后,您应该一切顺利!