为什么它不起作用,函数调用和模块导入?

时间:2019-12-01 18:14:29

标签: reactjs npm

我在此位置/src/auth/auth.js中有一个具有此功能的文件

  logout() {
// Clear Access Token and ID Token from local storage
localStorage.removeItem('access_token')
localStorage.removeItem('id_token')
localStorage.removeItem('expires_at')
localStorage.removeItem('chatkit_user')
//TODO: callback to reset the app state.

}

和/src/components/userHeader/index.js中的按钮

                <button onClick={() => logout()} >

退出

然后我想让按钮激活该功能,所以我尝试了

import { logout } from '/src/auth/auth.js';

尽管那应该使我的按钮激活该功能,因为我只是导入了该文件,但随后我的服务器netlify向我扔了这个

./src/components/UserHeader/index.js

10:38:20 AM:您试图导入/src/auth/auth.js,它不在项目src /目录下。不支持src /以外的相对导入。 上午10:38:20:您可以将其移动到src /中,也可以从项目的node_modules /中向其添加符号链接。 10:38:20 AM:下午 10:38:20 AM:错误!代码ELIFECYCLE 10:38:20 AM:下午 10:38:20 AM:错误! errno 1 10:38:20 AM:下午 10:38:20 AM:错误! pusher-chatkit-demo-with-auth0@0.1.0内部版本:react-scripts build 10:38:20 AM:npm错误!

我真的试图解决自己的问题,但是我不能遵循github教程https://github.com/Cazadorx/chatkit-sample-client,有很多帮助我

2 个答案:

答案 0 :(得分:0)

尝试一下

import { logout } from '../../auth/auth.js';

import { logout } from '../../auth/auth';

答案 1 :(得分:0)

从文件中导出功能

const logout = () => {
// Clear Access Token and ID Token from local storage
localStorage.removeItem('access_token')
localStorage.removeItem('id_token')
localStorage.removeItem('expires_at')
localStorage.removeItem('chatkit_user')
//TODO: callback to reset the app state.
}

export { logout };