Не удается найти модуль "окно браузера" с кошмаром и nodejs

Мне трудно запускать кошмар от nodejs. Я начал с примера, представленного в README, пробовал другую версию электронного предварительно собранного и различные настройки, но я всегда получаю узел, который не может найти модуль окна браузера. Вот мой тест:

> node --version
v5.3.0
>
> cat .\package.json
{
  "name": "webautomation",
  "version": "1.0.0",
  "private": true,
  "description": "testing nightmare.js",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "nightmare": "^2.1.2",
    "vo": "^1.0.3"
  },
  "author": "ECH",

  "license": "ISC"
}
>
> npm install
>
> npm ls electron-prebuilt
[email protected] D:\MyEnv\WebAutomation
└─┬ [email protected]

  └── [email protected]
>
> cat .\main.js
var Nightmare = require('nightmare');
console.log("require done");
dream = Nightmare();

dream.goto('http://yahoo.com');
dream.end();
>
> node main.js
creation done
module.js:338
    throw err;
    ^


Error: Cannot find module 'browser-window'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous>    (D:\MyEnv\WebAutomation\node_modules\nightmare\lib\runner.js:6:21)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:475:10)
>

Может кто-нибудь сказать мне, что мне здесь не хватает?


person Erch    schedule 26.12.2015    source источник
comment
Возможно, вам не хватает browser-window модуля? Попробуйте выполнить npm install --save-dev browser-window, а затем снова запустить main.js   -  person aug    schedule 27.12.2015
comment
Насколько я понимаю, browser-window - это электронный модуль, который должен быть предоставлен электронным prebuilt. Действительно, npm show browser-window возвращает 404.   -  person Erch    schedule 27.12.2015


Ответы (1)


У меня аналогичная проблема с моим приложением, и я думаю, это потому, что в API были внесены изменения или около того. Во всяком случае, что я сделал, чтобы исправить это, было следующее:

В файле main.js заменил старую строку

var BrowserWindow = require('browser-window');

с этим

var BrowserWindow = require('electron').BrowserWindow;

и тогда это сработало. Вы можете обратиться к теме здесь: https://github.com/Polymer/polymer-cli/issues/404

person Fahid RM    schedule 24.01.2017