我正在尝试制作一个电子应用程序。然而,我的工作一开始就停滞不前:require关键字给了我一个字符串,而不是模块对象。
electron = require('electron')
console.log(electron)
Run Code Online (Sandbox Code Playgroud)
它打印:
/path/to/my/project/node_modules/_electron@1.6.11@electron/dist/electron
Run Code Online (Sandbox Code Playgroud)
,完全不能作为模块使用。
相比之下,如果我导入一个内置模块或另一个 npm 安装的模块:
fs = require('fs')
console.log(fs)
mkdirp = require('mkdirp')
console.log(mkdirp)
Run Code Online (Sandbox Code Playgroud)
它打印对象层次结构,包括变量和函数。
以下是选举目录的内容,不知道是否健康:
$ 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
Run Code Online (Sandbox Code Playgroud)
这是预期的行为。您需要使用电子(在 node_modules/.bin 中)而不是普通节点来运行您的应用程序。
这是官方教程在 package.json 中使用的内容:
"scripts": {
"start": "electron ."
}
Run Code Online (Sandbox Code Playgroud)
这最终调用电子CLI,它使用require到找到路径electron.exe(字符串中,你发现),并产卵,当运行应用程序一个子进程。
| 归档时间: |
|
| 查看次数: |
1668 次 |
| 最近记录: |