2016-03-10 53 views
0

可见我声明了全局变量如下:全球声明的变量是不是在其他模块

var NODE_MODULES_PATH = process.env.NODE_PATH || 'C:/Users/../AppData/Roaming/npm/node_modules/'; 
    global.NODE_PATH = NODE_MODULES_PATH; 

,但是当我在其他模块例如访问它flollows:

var mysql = require(NODE_PATH + 'mysql'); 

它提供了以下错误:

ReferenceError: NODE_PATH is not defined 
    at Object.<anonymous> (z:\$app4pc\website_engine\conf\dbconnection.js:1:83) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 
    at Module.require (module.js:367:17) 
    at require (internal/module.js:16:19) 
    at Object.<anonymous> (z:\$app4pc\website_engine\models\login_model.js:1:76) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 

Process finished with exit code 1 

回答

0

的Node.js不会自动把事情在全球范围内。你应该从你的模块中导出它,并要求它使用它。如果您必须设置全局变量,则可以使用:

var GLOBAL.NODE_MODULES_PATH = ... 
相关问题