使用 module.exports 通过脚本使用变量不起作用

亚历克斯55132

所以我把头发拉到这里,我尝试过的一切都没有奏效。我有一个简单的 node.js 应用程序结构,如下所示:

var express = require('express');
var path = require('path');

var mysql = require('mysql');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/users', usersRouter);


//Database handler
//Here is completed with the data
var con = mysql.createConnection({
  host: "",
  user: "",
  password: "",
  database: ""
});

con.connect(function (err) {
  if(err) throw err;
  console.log("connected");
});

app.listen(55132, function () {
  console.log("Server running at port 55132");
});

module.exports = app;

很简单,一些路由,但没什么奇怪的。我需要在我的其他脚本中使用变量 con,所以我试过这个:

module.exports.database = con;

所以我应该可以在我的 index.js 脚本中使用它(参见var indexRouter参考资料),这里是 index.js 脚本:

var express = require('express');
var router = express.Router();
let app = require('../app');

let connection = app.database;

console.log(app); //Here returns {} so I can´t access any of the properties of the module

/* GET home page. */
router.get('/', function(req, res, next) {

}

module.exports = router;

我不知道我该怎么办,有什么建议吗?

纳奥·泰吉

对于进一步阅读,我建议您阅读此https://nodejs.org/api/modules.html#modules_exports_shortcut

只需将您的应用程序文件导出更改为

 module.exports = {app,con};

并在您的索引文件中

const {app,con} = require('./app');
let connection = con;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用module.exports返回对象

Browserify:如果需要,使用module.exports,否则公开全局

在节点module.exports中的对象方法中使用'this'

Node.js-使用module.exports作为构造函数

在茉莉花规格中使用module.exports

require():使用module.exports与直接分配给“ this”

如何在Next.js中使用module.exports

在module.exports方法上使用sinon测试方法调用

如何导入在Typescript中使用module.exports =的CommonJS模块

在React ES6中使用module.exports

在 module.exports 中使用的函数中未定义

使用module.exports从函数中获取变量但没有返回

即使使用 module.exports,NodeJS 和 MongoDB 也会丢失变量的定义

如何使用module.exports和require()导出Node.js中的类和超类?

使用module.exports的三种不同方式之间的差异

在另一个文件中使用时找不到 module.exports 值

是否有任何理由使用IIFE定义module.exports?

使用module.exports导出自定义类型定义

如何在Node JS中使用module.exports导出数组?

Node.js module.exports的用途是什么,如何使用它?

使用浏览器化的节点应用程序访问module.exports

如何在nodeJS中使用module.exports请求.json文件

回复:如何将javascript AMD模块导入外部TypeScript模块?(使用module.exports = ...时)

如何在module.exports函数中使用d3返回数据?

如何在 node.js 中正确使用 module.exports?

如何使用module.exports从另一个文件访问object.prototype方法?

笑话:使用module.exports时如何模拟一个特定功能

如何使用Azure Functions和node.js在module.exports之外发出axios请求?

如何在 node 中使用 sinon 为 module.exports 和原型编写单元测试