我正在尝试Gridsome和Vue.js进行相当大的网站转换。网站需要能够从API加载数据。我一直在尝试按照https://gridsome.org/docs/fetching-data/#import-from-apis上的说明进行操作-我粘贴了示例代码。

但是,当我尝试运行Gridsome Development时出现此错误


  C:\ projects \ folder \ project> gridsome开发Gridsome v0.6.9
  
  初始化插件...初始化-0.97s TypeError:
  actions.addCollection不是函数
      在api.loadSource(C:\ projects \ VueJS-Research \ my-gridsome-test-VS \ gridsome.server.js:17:36)
      在process._tickCallback(内部/进程/next_tick.js:68:7)


是Vue.js的新手,我不确定这是怎么回事。我有缺少的包裹吗?

我不得不说,如果遵循文档会导致此类问题,那么我可能不得不得出结论,Gridsome还不够成熟,无法在商业环境中使用,因此我们可能不得不寻找其他地方。

任何帮助,将不胜感激,
谢谢。

gridsome.server.js文件中的代码:



const axios = require('axios')

module.exports = function (api) {

    api.loadSource(async actions => {

        const { data } = await axios.get('http://dev.client.local/api/items/suggestitems?family=someCategory')

        const collection = actions.addCollection({ typeName: 'clientItems' })


        for (const item of data) {
            collection.addNode({
                label: item.label,
                labelNoFamily: item.labelNoFamily,
                path: item.path
            })
        }
    })

  //api.loadSource(({ addContentType }) => {
  //  // Use the Data Store API here: https://gridsome.org/docs/data-store-api
  //})

  api.createPages(({ createPage }) => {
    // Use the Pages API here: https://gridsome.org/docs/pages-api
  })


}

最佳答案

解决了:

我对此有些困惑,因此我不得不查找如何查找安装了哪个版本的gridsome。它不是全局安装的,因此我不得不导航到正确的文件夹以查看它是哪个文件夹。

原来是0.6.9,最新的是0.7.12,即使我已经使用“ npm install gridsome”启动了该项目(我本以为npm install会得到最新的)

npm install npm-check-updates显示引导程序缺少依赖项,因此我显然必须首先解决该问题。我曾尝试运行'npm install gridsome'和'npm update gridsome'以及其他各种排列来更新gridsome,但从未成功。

解决方案是:


'npm i [email protected]保存'
“ npm审核修复程序”(不确定是否有必要)
'npm install npm-check-updates'(也不确定是否有必要)
然后是'npm i [email protected] --save'


显然,--save选项也会更新本地文件夹中的package.json文件,这可能也是必要的。

关于javascript - gridsome.server.js无法识别功能addCollection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60184685/

10-12 15:15