我正在使用ES6类设置羽毛 - 委员会,我想在React-Redux-webpack应用程序的操作中导入该类。
我使用了Awesome Feathers脚手架设置了REST API。
不幸的是,我在浏览器中遇到了一个错误,这毁了我的一天。我在做什么错?
undureck typeerror:_client2.default.hooks不是函数
有人可以帮我吗?为什么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
是一个包含一组羽毛的标准模块(例如auth,rether,socketio客户端),可以直接在浏览器中使用(请参阅此处的文档)。
看起来您正在尝试使用一个模块加载程序,该模块加载程序在此处记录了,因此而不是使用预捆绑软件包(其中所有内容都在feathers.
命名空间中,例如feathers.hooks
,feathers.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,则不需要它。它默认是一个空字符串。