我正在尝试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/