node.js 中的必需模块始终未定义
required module in node.js is always undefined
目前正在经历一些绝对莫名其妙的事情。我需要通过 npm (npm --save install qrcode
).
安装的 'qrcode' 模块
const {
QRCode
} = require('qrcode');
该模块在我的 package.json 中列出并且确实存在于 node_modules 中。但是,这绝对总是 'undefined'。当将鼠标悬停在 require 语句中的字符串上时,我看到它是如何引用我的 local/AppData 目录中的 node_modules 目录的,我假设它是模块的全局目录。使用此路径始终会导致 'undefined'。然后我尝试切换路径以引用本地 node_modules 二维码,但仍然 'undefined'。我已经阅读了此处的所有内容 https://www.npmjs.com/package/qrcode,但对我遇到的问题没有帮助,而且 google 上似乎没有任何关于此的对话。
TypeError: Cannot read property 'toDataURL' of undefined
当使用 'qrcode' 字符串时,它使用了 @types 文件夹中的一些东西,我认为它是用于我没有使用的 ES6 的。不知道如何进行这里没有任何内容,非常感谢任何帮助!
Node.js 来自 npm 包页面的示例(要是这么简单就好了)
var QRCode = require('qrcode')
QRCode.toDataURL('I am a pony!', function (err, url) {
console.log(url)
})
当你这样做时:
const {
QRCode
} = require('qrcode');
您期望模块导出的对象上有 QRCode
属性。这在 ES6 中称为对象析构赋值。它是 shorthand 并等效于此:
const QRCode = require('qrcode').QRCode;
而且,由于模块导出的对象没有 .QRCode
属性,你除了 undefined
.
什么也得不到
相反,它导出的顶级对象是 QRCode
对象,因此您需要这样做:
const QRCode = require('qrcode');
如果您想要导出特定的 属性,您可以这样做:
const { toDataURL } = require('qrcode');
目前正在经历一些绝对莫名其妙的事情。我需要通过 npm (npm --save install qrcode
).
const {
QRCode
} = require('qrcode');
该模块在我的 package.json 中列出并且确实存在于 node_modules 中。但是,这绝对总是 'undefined'。当将鼠标悬停在 require 语句中的字符串上时,我看到它是如何引用我的 local/AppData 目录中的 node_modules 目录的,我假设它是模块的全局目录。使用此路径始终会导致 'undefined'。然后我尝试切换路径以引用本地 node_modules 二维码,但仍然 'undefined'。我已经阅读了此处的所有内容 https://www.npmjs.com/package/qrcode,但对我遇到的问题没有帮助,而且 google 上似乎没有任何关于此的对话。
TypeError: Cannot read property 'toDataURL' of undefined
当使用 'qrcode' 字符串时,它使用了 @types 文件夹中的一些东西,我认为它是用于我没有使用的 ES6 的。不知道如何进行这里没有任何内容,非常感谢任何帮助!
Node.js 来自 npm 包页面的示例(要是这么简单就好了)
var QRCode = require('qrcode')
QRCode.toDataURL('I am a pony!', function (err, url) {
console.log(url)
})
当你这样做时:
const {
QRCode
} = require('qrcode');
您期望模块导出的对象上有 QRCode
属性。这在 ES6 中称为对象析构赋值。它是 shorthand 并等效于此:
const QRCode = require('qrcode').QRCode;
而且,由于模块导出的对象没有 .QRCode
属性,你除了 undefined
.
相反,它导出的顶级对象是 QRCode
对象,因此您需要这样做:
const QRCode = require('qrcode');
如果您想要导出特定的 属性,您可以这样做:
const { toDataURL } = require('qrcode');