【问题标题】:Why it doesn't work, function call and module import?为什么它不起作用,函数调用和模块导入?
【发布时间】:2019-12-01 18:14:29
【问题描述】:

我在这个位置有一个文件 /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:您尝试导入项目 src/ 目录之外的 /src/auth/auth.js。不支持 src/ 之外的相对导入。 上午 10:38:20:您可以将其移动到 src/ 中,或者从项目的 node_modules/ 添加符号链接。 上午 10 点 38 分 20 秒:npm 上午 10 点 38 分 20 秒:错误!代码生命周期 上午 10 点 38 分 20 秒:npm 上午 10 点 38 分 20 秒:错误!错误号 1 上午 10 点 38 分 20 秒:npm 上午 10 点 38 分 20 秒:错误! pusher-chatkit-demo-with-auth0@0.1.0 构建:react-scripts build 上午 10:38:20:npm 错误!

我真的想自己解决它,但我不能按照 github 教程https://github.com/Cazadorx/chatkit-sample-client 有所有请帮助我

【问题讨论】:

    标签: reactjs npm


    【解决方案1】:

    从文件中导出函数

    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 };
    
    

    【讨论】:

    • 编译失败。下午 2:32:25:./src/components/UserHeader/index.js 下午 2:32:25:找不到模块:'src/auth/auth.js'。确保已安装此软件包。 2:32:25 PM:您可以通过运行以下命令安装此包:yarn add src/auth/auth.js。下午 2:32:25:npm 下午 2:32:25:错误!代码 2:32:25 PM:ELIFECYLE 2:32:25 PM:npm 2:32:25 PM:错误!错误号 1
    • 我不明白位置还可以有什么问题
    • 用目标目录正确指定相对于当前目录的路径。
    【解决方案2】:

    试试这个方法

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

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

    【讨论】:

    • 编译失败。下午 2:23:36:./src/components/UserHeader/index.js 下午 2:23:36:在“./src/components/UserHeader”中找不到文件“./auth/auth.js”。下午 2:23:36:npm 下午 2:23:36:错误!代码 ELIFECYCLE 下午 2:23:36:npm 下午 2:23:36:错误!错误号 1 下午 2:23:36:npm 下午 2:23:36:错误! pusher-chatkit-demo-with-auth0@0.1.0 构建:react-scripts build 2:23:36 PM:npm 错误!下午 2:23:36:退出状态 1
    • 我编辑了答案,我假设你在同一个目录路径中也像@ThayalanGR 建议的那样导出注销
    • 我要试试你的新答案
    • 编译失败。下午 2:41:26:./src/auth/auth.js 下午 2:41:26:语法错误:意外令牌 (67:7) 下午 2:41:26:65 |下午 2 点 41 分 26 秒:66 |下午 2 点 41 分 26 秒:> 67 |常量注销 = () => { 下午 2:41:26: | ^ 下午 2 点 41 分 26 秒:68 | // 从本地存储中清除 Access Token 和 ID Token 2:41:26 PM: 69 | localStorage.removeItem('access_token') 下午 2:41:26:70 | localStorage.removeItem('id_token') 下午 2:41:26:npm 下午 2:41:26:错误!代码 ELIFECYCLE 下午 2:41:26:npm 下午 2:41:26:错误! errno 下午 2:41:26:1 下午 2:41:26:npm
    • 看起来像
    猜你喜欢
    • 2019-08-03
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多