首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:要求(.)不是函数(Node.js) [server.js]

TypeError:要求(.)不是函数(Node.js) [server.js]
EN

Stack Overflow用户
提问于 2017-02-05 20:54:35
回答 1查看 14.6K关注 0票数 1
代码语言:javascript
运行
复制
const express = require('express');
const bodyParser = require('body-parser');
const app = express();

const port = process.env.PORT || 3000;

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true,
}));

app.use('/', require('../routes')(express));

exports.server = app.listen(port, () => {
  console.log('Server active on', port);
});

我是不是错过了npm计划?

误差 TypeError:要求(.)不是对象上的函数。(C:\xampp\htdocs\url-shortener\src\server.js:12:34 at Module._compile (module.js:571:32) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) at Module.runMain (module.js:605:10) at run (bootstrap_node )( .js:418:7)在bootstrap_node.js:533:3启动时(bootstrap_node.js:139:9)

EN

回答 1

Stack Overflow用户

发布于 2017-02-05 20:57:09

您的../routes源文件没有导出函数。

试着替换这一行:

代码语言:javascript
运行
复制
app.use('/', require('../routes')(express));

通过以下方式:

代码语言:javascript
运行
复制
console.log( require('../routes') );

我敢打赌它会打印一个对象({ ... }),而不是一个函数。

../routes文件中,需要显式导出重要函数:

代码语言:javascript
运行
复制
module.exports = importantFunction;

function importantFunction(string) {
  console.log(string);
}

现在,您可以调用导入它的脚本。

代码语言:javascript
运行
复制
require('../routes')("hi") // should log "hi"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42057176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档