尝试使用导出.从Node.js中的另一个模块创建
Trying to use exports.create from another module in Node.js
我想在另一个模块中使用一个模块的代码。
Module1Directory包含以下文件:
Module1.js
exports.create = function(req, res) {
function something(){}
}
Index.js:
'use strict';
var express = require('express');
var controller = require('./Module1.js');
var router = express.Router();
router.post('/', controller.create);
module.exports = router;
Module2Directory包含以下文件:
Module2.js
var confusing = require('../Module1Directory/Module1.js');
exports.create = function(req, res){
confusing.create.something();
}
Index.js:
'use strict';
var express = require('express');
var controller = require('./Module2.js');
var router = express.Router();
router.post('/', controller.create);
module.exports = router;
在Module2中运行的函数返回'undefined '在终端中不是函数'。怎么了?
您的create
是函数,但您将其视为非函数对象。您必须调用它,并且它必须返回一个具有something
属性的对象:
Module1.js
:
exports.create = function(req, res) {
function something(){}
return {something: something}; // <===
};
Module2.js
var confusing = require('../Module1Directory/Module1.js');
exports.create = function(req, res){
confusing.create(req, res).something();
// ^^^^^^^^^^
};
相关文章:
- 如何在react js中将值从一个组件发送到另一个组件
- 如何在react js中从一个页面导航到另一个页面
- 使用JS函数来使用另一个函数的语法?node.js
- 如何将变量传递到另一个js文件
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使用JS/jQuery在另一个网站上显示iframe中的特定内容
- 从另一个JSAppleScript运行另一个JS AppleScript时出现权限错误
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 重定向到Angular JS中的另一个HTML页面
- jQuery.load()是另一个包含prism.js的页面
- JS/ANGULAR使用一个变量's值作为另一个对象的键
- 如何通过 JS 将内容从一个表单中的一个文本框复制到另一个表单中的另一个文本框
- notify.js没有'如果另一个窗口被聚焦,则不显示通知
- Hapi-js重定向到另一个带有额外请求数据的路由
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- 在一个控制器中更新服务变量,并在另一个控制器 - Angular JS中使用更新的值
- Java,nashorn访问另一个js文件
- 从JS到PHP;另一个CORS问题(似乎是)
- Ember.js 和 ember-data 与外部(另一个域)API 配合使用