bin / www app.listen不是一个函数

时间:2018-03-19 08:15:58

标签: node.js express

我正在尝试从www文件运行我的服务器但是在尝试运行它时会给我以下输出。为什么我收到这个错误?

我正在使用Express 4.16。节点env路径有问题吗?或者是其他问题?

❯ ./bin/www                                                                               ✔ master
/Users/me/Test/ExpressAPP/bin/www:6
app.listen(3000, function () {
    ^

TypeError: app.listen is not a function
    at Object.<anonymous> (/Users/me/Test/ExpressAPP/bin/www:6:5)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:607:3

./仓/万维网

#!/usr/bin/env node

var app = require('./../app')

app.listen(3000, function(){
    console.log('Listening on port 300')
})

app.js

var express = require('express')
var app = express()

app.get('/', function(request, response){
    response.send('OK')
})

module.exports = app

3 个答案:

答案 0 :(得分:0)

试试这段代码:

Accept: application/json

答案 1 :(得分:0)

我打赌你的代码没有问题。我用你的代码片段创建了一个demo。我按预期工作。所以问题可能与您的环境有关。您可以尝试删除 node_modules 文件夹并尝试使用cosole.log(app)命令重新安装npm软件包吗?

我有两个想法可以帮助您解决问题。

  • www 文件中添加module.exports = app,看看您需要的应​​用是什么。它与您在 app.js 中创建的对象相同吗?
  • 仔细检查您的源代码与粘贴的内容相同,尤其是const addFetchOptionsPlugin = { requestWillFetch: ({ request }) => new Request(request, { credentials: 'same-origin', redirect: 'follow' }) }; workbox.router.registerRoute( new RegExp('my-route'), workbox.strategies.cacheFirst({ cacheName: 'my-cache', plugins: [addFetchOptionsPlugin] }) ); 。我之前已经失去了 s

答案 2 :(得分:0)

我遇到了同样的问题,

wrong: module.export=app;  

 right: module.exports=app;