javascript - 如何在 Node.js 中导入 util 模块?

标签 javascript node.js reactjs

isDeepStrictEqual() 方法进行对象比较但被错误阻止:

util.isDeepStrictEqual() is not a function
  1. 根据官方文档:此方法是在 v9.0.0 中引入的,我使用的是 Node v12:https://nodejs.org/api/util.html#util_util_isdeepstrictequal_val1_val2

  2. 我确认此方法可用于命令行:

    D:\>node
    Welcome to Node.js v12.18.2.
    Type ".help" for more information.
    > require("util").isDeepStrictEqual({'name': 'john'}, {'sex': 'male'})
    false
    > require("util").isDeepStrictEqual({'sex': 'john'}, {'sex': 'male'})
    false
    > require("util").isDeepStrictEqual({'sex': 'male'}, {'sex': 'male'})
    true
    
  3. 这是我的代码:

    class App extends Component {
    
     constructor(props) {
         super(props);
         var util = require('util');
         var obj1 = {name: 'john'};
         var obj2 = {sex: 'male'};
         var result = util.isDeepStrictEqual(obj1, obj2);
     }
    

最佳答案

不知道你有没有做过所以先做这个 util-npm

npm install util

并且添加到@3limin4t0r 的回答中,我认为不应该在构造函数中声明 util。

将其作为类外的全局常量

例如

const util = require('util');

class Foo {
  constructor() {
    this.a = 42;
  }

  bar(callback) {
    callback(null, this.a);
  }
}

const foo = new Foo();

const naiveBar = util.promisify(foo.bar);
// TypeError: Cannot read property 'a' of undefined
// naiveBar().then(a => console.log(a));

naiveBar.call(foo).then((a) => console.log(a)); // '42'

const bindBar = naiveBar.bind(foo);
bindBar().then((a) => console.log(a)); // '42'

这是 Util doc(isDeepStrictEqual) 下方的 promisify 示例

所以要么将它用作全局常量,要么像在命令行中那样直接使用它。

关于javascript - 如何在 Node.js 中导入 util 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63680383/

相关文章:

javascript - 在哪里可以找到 Traceur(ES6 转换器)运行时?

javascript - React.js 终极版 : unwanted change of redux store on input handling

javascript - 在 ReactangerlySetInnerHTML() 中使用 JSX 表达式渲染 HTML 字符串

javascript - 在 Javascript 和 Python 之间传递变量

javascript - 使用 angularjs 将多个独立附件上传到 couchdb

node.js - 类型检查字符串而不是使用 instanceof

javascript - 错误: Trying to print out array elements in React Function Component?

javascript - 检查退格键或删除键

javascript - 大多数 "react"方式有多个不同的渲染

node.js - 从本地 Node.js Webapp 访问 Heroku 上的远程 Postgres 数据库时出现问题