gpt4 book ai didi

javascript - Feathersjs API ES6 类钩子(Hook)和其余未定义

转载 作者:太空宇宙 更新时间:2023-11-03 23:28:21 24 4
gpt4 key购买 nike

我正在使用 ES6 类设置 Feathers-client,我想将其导入到 React-Redux-Webpack 应用程序的操作中。

我已经使用很棒的 Feathers 脚手架设置了 REST api。

不幸的是,我在浏览器中遇到了一个错误,这毁了我的一天。我做错了什么?

Uncaught TypeError: _client2.default.hooks is not a function

谁能帮帮我吗?为什么hooks(以及rest)在这里未定义?软件包似乎已正确安装...

以下内容是个好主意吗?

// src/middleware/api.js

import hooks from 'feathers-hooks'
import feathers from 'feathers/client'
import rest from 'feathers-rest/client'

class API {
constructor() {
const connection = process.env.FEATHERS_API_URL
this.app = feathers()
.configure(feathers.hooks())
.configure(rest(connection).fetch(fetch))
.configure(feathers.authentication({
type: 'local',
storage: window.localStorage,
}))
}
}

会不会是某些包不兼容?

"feathers": "^2.0.3",
"feathers-authentication": "^0.7.12",
"feathers-client": "^1.8.0",
"feathers-configuration": "^0.3.3",
"feathers-errors": "^2.5.0",
"feathers-hooks": "^1.7.1",
"feathers-rest": "^1.5.2",
"feathers-sequelize": "^1.4.0"

我想知道的另一件事是我们是否总是需要为 rest 函数提供路径?可以默认使用配置文件中使用的路径吗?当我的客户端和服务器端代码都在同一个项目中时,为其提供一条路径感觉有点奇怪......

最佳答案

@feathersjs/client 是一个包,其中包含一组 Feathers 标准模块(如 auth、rest、socketio 客户端),可以直接在浏览器中使用(请参阅 the documentation here )。

您似乎正在尝试使用模块加载器 which is documented here因此,不要使用预先捆绑的包(其中所有内容都在feathers.命名空间中,例如feathers.hooksfeathers.authentication等)您可以仅导入您需要的模块并配置它们:

  // src/middleware/api.js
import feathers from '@feathersjs/feathers'
import rest from '@feathersjs/rest-client'
import authentication from '@feathersjs/authentication-client'

class API {
constructor() {
const connection = process.env.FEATHERS_API_URL
this.app = feathers()
.configure(rest(connection).fetch(fetch))
.configure(authentication({
type: 'local',
storage: window.localStorage,
}))
}
}
如果

rest 在同一域上运行,则不需要基本 URL。默认为空字符串。

关于javascript - Feathersjs API ES6 类钩子(Hook)和其余未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41226678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com