我很难从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
webautomation@1.0.0 D:\MyEnv\WebAutomation
└─┬ nightmare@2.1.2
└── electron-prebuilt@0.35.4
>
> 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)
>
有人能告诉我我在这里缺少什么吗?
答案 0 :(得分:0)
我的应用程序遇到了类似的问题,我认为这是因为API有所改变。无论如何,我所做的就是解决这个问题:
在main.js文件中,我替换了旧行
var BrowserWindow = require('browser-window');
用这个
var BrowserWindow = require('electron').BrowserWindow;
然后它奏效了。 你可以参考这里的主题:https://github.com/Polymer/polymer-cli/issues/404