2017-01-13 32 views
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时,调试器一直说它没有被定义。这同样像bodyParsercompression其他变量等

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。所以我不知道调试器为什么说一些肯定使用的变量没有被定义。

回答

-1

您需要通过节点require方法。

有一些包你需要的只是添加是你需要需要变量“全局”

而且大部分的软件包。 IE:

var express = require("express"); 
+0

我已经在我检查过变量'express'的地方通过了'var express = requires(“express”)''。即使在我成功将mongodb连接到此服务器之后,变量'mongoose'也未定义。 – user3655508

相关问题