【问题标题】:Use a require for import module in Ionic 4在 Ionic 4 中对导入模块使用 require
【发布时间】:2019-10-05 13:10:38
【问题描述】:

我需要在 Ionic 中使用这个库:https://github.com/auth0/node-jsonwebtoken 就是签一个token(是的,我需要在我的前端签一个jwt)

它在 Ionic 3 中工作!我使用的是“declare var require: any;”这篇文章的技巧:Angular 4: "Cannot find name 'require'

一切都很完美,很好

但我现在在 Ionic 4 中并且......什么都没有! 可以编译了,好的,太好了,但是我总是有这个错误:

ERROR Error: "Uncaught (in promise): TypeError: obj is not an object or null

如果使用具有相同代码的简单 js 文件来签署令牌(并仅使用节点运行此文件),它也可以工作!

我只在 Ionic 4 上遇到这个问题。但在以前的版本 Ionic 3 上没有

如果有关于 angular/ionic 库签署令牌(而不是 jsonwebtoken)的任何建议,那将很有帮助。

【问题讨论】:

    标签: angular ionic-framework ionic4


    【解决方案1】:

    尝试为jsonwebtoken 库安装类型: npm i @types/jsonwebtoken

    然后用 ES6 风格导入: import jwt from 'jsonwebtoken'; 而不是require...

    【讨论】:

    • 我仍然必须拥有原始的 jsonwebtoken,对吧?我已经测试过,使用 import * as jwt from 'jsonwebtoken' 仍然无法工作“TypeError:obj 不是对象或 null”; (是的,因为 jsonwebtoken 没有默认导出)我的 tsconfig 中必须有什么?模块:es6?类型:[“节点”]?
    • 我也试过用另一个@types/...@types/jws 总是同样的错误
    • @Caribou 在这里我试过了stackblitz.com/edit/ionic-qkrrfy,它看起来很有效。正如我在答案中所写的那样,我所做的只是安装了jsonwebtoken@types/jsonwebtoken,并完全按照答案中的方式导入了它。如果您打开控制台,您将看到 jwt 对象及其功能和内容。也许您的错误在其他地方?
    • 不同之处在于 typescript v2(我有 v3 我无法通过 angular 7 到 v2)或者可能使用 tsconfig 文件我会继续搜索
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 2018-01-14
    • 2023-03-14
    • 2018-04-06
    • 1970-01-01
    相关资源
    最近更新 更多