Node.js 电子预建错误找不到模块“浏览器窗口”Windows 10

Posted

技术标签:

【中文标题】Node.js 电子预建错误找不到模块“浏览器窗口”Windows 10【英文标题】:Node.js electron-prebuilt error cannot find module 'browser-window' windows 10 【发布时间】:2016-11-18 22:18:08 【问题描述】:

现在我正在尝试学习如何使用电子对桌面应用程序进行编程,但是当我尝试在 windows 10 x64 上使用带有 nodejs x32 的电子预构建的电子运行“npm start”时遇到此错误:

App threw an error during load
Error: Cannot find module 'browser-window'
   at Module._resolveFilename (module.js:438:15)
   at Function.Module._resolveFilename (C:\Users\Alejandro\Documents\Proyectos\player\node_modules\electron-prebuilt\dist\resources\electron.asar\common\reset-search-paths.js:35:12)
   at Function.Module._load (module.js:386:25)
   at Module.require (module.js:466:17)
   at require (internal/module.js:20:19)
   at Object.<anonymous> (C:\Users\Alejandro\Documents\Proyectos\player\index.js:4:25)
   at Module._compile (module.js:541:32)
   at Object.Module._extensions..js (module.js:550:10)
   at Module.load (module.js:456:32)
   at tryModuleLoad (module.js:415:12)

这是我的代码:

package.json

  
 "name": "player",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": 
    "start": "electron ."
  ,
  "author": "",
  "license": "ISC",
  "dependencies": ,
  "devDependencies": 
  "electron-prebuilt": "^1.2.7"
  
 

index.js

const electron = require('electron')
const app = electron

const BrowserWindow = require('browser-window')

app.on('ready',function()
var mainWindow = new BrowserWindow(
   width:800,
   height:600
 )
)

节点版本:4.4.5

npm 版本:2.15.5

【问题讨论】:

我想你想要: const BrowserWindow = electron.BrowserWindow.我不再相信浏览器窗口是一个单独的模块。签出:github.com/electron/electron-quick-start 谢谢它的工作:) 我可以使用它创建一个 node js 的预构建应用程序的构建吗?如果是的话,你能指导我怎么做吗? 【参考方案1】:

@morecchia808 是正确的,在 Electron v1.0 中访问内置模块的方式已经改变。您的代码可以修复如下:

const electron = require('electron')
const app, BrowserWindow = electron

【讨论】:

以上是关于Node.js 电子预建错误找不到模块“浏览器窗口”Windows 10的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 错误:找不到模块快递

node.js,错误:找不到模块'express'

Node.js AWS 部署错误:找不到模块

node.js 错误:找不到模块“lodash.assign”

如何使用 Node.js 解决“找不到模块”错误?

找不到模块“nodemailer”