Nodejs,Electron噩梦在安装时没有定义?

时间:2018-05-18 15:15:20

标签: node.js electron

我通过NPM安装了Nightmare,这是我的代码:

var jquery = require('jquery')
var nightmare = require('nightmare')
var nightmare = Nightmare({ show: true });

$( "#test" ).addEventListener('click',() => {
    nightmare
        .goto('http://akhiljose.me/master/paste/')
        .type('.form-control', 'Test')
        .type('input[type=test]', 'nightmare_test')
        .click('input[type=submit]')
        .wait(7000)
        .evaluate(function () {
        return document.querySelector('pre').innerText;
        })
        .end()
        .then(function (result) {
            console.log(result);
        })
        .cat(function (error) {
        console.error('Search failed:', error);
        })});

然而,控制台日志:

C:\Users\ninja_000\Desktop\clu-gen\index.js:3 Uncaught ReferenceError: Nightmare is not defined
    at Object.<anonymous> (C:\Users\ninja_000\Desktop\clu-gen\index.js:3:17)
    at Object.<anonymous> (C:\Users\ninja_000\Desktop\clu-gen\index.js:22:3)
    at Module._compile (module.js:642:30)
    at Object.Module._extensions..js (module.js:653:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (module.js:586:17)
    at require (internal/module.js:11:18)
    at file:///C:/Users/ninja_000/Desktop/clu-gen/index.html:12:5

我对nodejs很新,是什么导致了这个错误?我做错了吗?

2 个答案:

答案 0 :(得分:2)

您正在调用未定义的变量。

nightmare

第二行声明变量Nightmare,但是您调用var jquery = require('jquery') var Nightmare = require('nightmare') var nightmare = Nightmare({ show: true }); 的下一行。将第二行设为大写。

at Object.<anonymous> (C:\Users\ninja_000\Desktop\clu-gen\index.js:3:17)

您可以从堆栈跟踪的第二行看到:

ReferenceError: Nightmare

第3:17行,有一个未被捕获的Nightmare。这是有道理的,因为eslint没有定义,所以nodejs找不到它。堆栈跟踪中的行号可用于查明代码中发生错误的位置。您还可以使用一个linter,它会在尝试使用未定义的变量时显示错误。类似于{{1}}。

答案 1 :(得分:0)

应该被定义为梦魇而不是噩梦