2017-01-13 31 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

相關問題