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