gpt4 book ai didi

node.js require 返回一个字符串而不是模块对象

转载 作者:搜寻专家 更新时间:2023-10-31 23:45:33 24 4
gpt4 key购买 nike

我正在尝试制作一个 electron 应用程序。然而,我的工作一开始就停滞不前:require 关键字给我一个字符串,而不是模块对象。

electron = require('electron')
console.log(electron)

它打印:

/path/to/my/project/node_modules/_electron@1.6.11@electron/dist/electron

,那完全不能作为模块使用。

相比之下,如果我导入一个内置模块,或另一个 npm 安装的模块:

fs = require('fs')
console.log(fs)

mkdirp = require('mkdirp')
console.log(mkdirp)

它打印对象层次结构,包括变量和函数。

以下是选举目录的内容,不知道是否健康:

$ ls node_modules/electron
appveyor.yml cli.js CONTRIBUTING.md dist electron.d.ts index.js install.js issue_template.md LICENSE node_modules package.json path.txt README.md test

最佳答案

这是预期的行为。您需要使用 Electron (在 node_modules/.bin 中)而不是普通 Node 来运行您的应用程序。

这就是official tutorial在 package.json 中使用:

"scripts": {
"start": "electron ."
}

这最终会调用 electron cli ,它使用 requirefind the path to electron.exe (您发现的字符串)并将其生成为运行应用程序的子进程。

关于node.js require 返回一个字符串而不是模块对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45274548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com