如何导出这些变量,以便以后可以在不同的js文件中使用它们?
以下示例仅适用于1个变量
var app = module.exports = express();
但我想传递更多变量,所以我做了这个
var app = express();
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : ''
});
module.exports.app = app;
module.exports.connection = connection;
没有成功
答案 0 :(得分:1)
这是因为首先,您的模块是应用程序。我的意思是,如果你在第一种情况下有B那样:
app = require('A') // = express()
而第二次是:
app = require('A') // = {app: express(), connection: connection}
答案 1 :(得分:1)
答案在Node.js Modules documentation中:
您可以将要导出的值分配给 module.exports 属性,也可以为其指定对象。
<强> mymodule.js:强>
var app = module.exports = express();
或者:
var app = express();
module.exports = {
"app": app,
"otherproperties": "you want to export"
}
要求您自己创建的模块并且没有放置 node_modules 目录,您可以提供绝对路径或相对路径。
致电模块:
var app = require("/home/user/myapp/mymodule.js"); // absolute path
app; // access returned value of express() function, created in *mymodule.js*
或者:
var app = require("./mymodule.js"); // path relative to the calling module
// In this case the calling module is in the same directory as *mymodule.js*
app.app; // access returned value of express() function, created in *mymodule.js*
附录:即使 modules 库/模块已被锁定,我还是建议您阅读文档。在查找您不熟悉的网络术语时,可以在两个晚上阅读整个文档。它会在短期内为您节省大量时间!