0
您好我是Nodejs的新手,在通过节点调试器调试服务器示例时遇到问题。即使在节点中使用require关键字之后,变量仍未定义
这是server.js
的一部分,我试图检查的文件。
// Babel ES6/JSX Compiler
require('babel-register');
var path = require('path');
var express = require('express');
var bodyParser = require('body-parser');
var compression = require('compression');
var favicon = require('serve-favicon');
var logger = require('morgan');
var async = require('async');
var colors = require('colors');
var mongoose = require('mongoose');
我正在通过node debug server.js
命令在终端上调试此文件。 当我试图检查上面的path
变量时,我已经得到了这个。
debug> path
{ resolve: [Function],
normalize: [Function],
isAbsolute: [Function],
join: [Function],
relative: [Function],
_makeLong: [Function],
dirname: [Function],
basename: [Function],
extname: [Function],
format: [Function],
parse: [Function],
sep: '/',
delimiter: ':',
posix: [Circular],
win32:
{ resolve: [Function],
normalize: [Function],
isAbsolute: [Function],
join: [Function],
relative: [Function],
_makeLong: [Function],
dirname: [Function],
basename: [Function],
extname: [Function],
format: [Function],
parse: [Function],
sep: '\\',
delimiter: ';' } }
但是,当我试图检查express
时,调试器一直说它没有被定义。这同样像bodyParser
,compression
其他变量等
debug> express
ReferenceError: express is not defined
at repl:1:1
at Object.exports.runInContext (vm.js:44:17)
at Interface.controlEval (_debugger.js:952:21)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.<anonymous> (repl.js:412:12)
at emitOne (events.js:77:13)
at REPLServer.emit (events.js:169:7)
at REPLServer.Interface._onLine (readline.js:210:10)
at REPLServer.Interface._line (readline.js:549:8)
是否有人可以解释为什么我用require()
即使这些变量没有定义? server.js
运行正常时,我只需执行node server.js
。所以我不知道调试器为什么说一些肯定使用的变量没有被定义。
我已经在我检查过变量'express'的地方通过了'var express = requires(“express”)''。即使在我成功将mongodb连接到此服务器之后,变量'mongoose'也未定义。 – user3655508