Javascript 带参数的要求

Javascript 带参数的要求,javascript,node.js,express,Javascript,Node.js,Express,我想将我的路线与app.js文件分开 登录路由需要一个firebase实例 路由/auth.js var express = require('express'); var router = express.Router(); module.exports = function(firebase) { ... } module.exports = router; var firebase = require('firebase'); var config = { ...

我想将我的路线与app.js文件分开

登录路由需要一个firebase实例

路由/auth.js

var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
    ...
}

module.exports = router;
var firebase = require('firebase');

var config = {
    ...
}

firebase.initializeApp(config);

var auth = require('./routes/auth')(firebase)

app.use('/admin', auth)
const PORT = 8081

...

var auth = require('./routes/auth')(firebase)

app.use('/auth', auth)

app.listen(PORT, function () {
  console.log(util.format('Example app listening on port %d!', PORT))
})
var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
  router.get('/auth', function(req, res) {
    res.send('hi')
  })

  return router
}
app.js

var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
    ...
}

module.exports = router;
var firebase = require('firebase');

var config = {
    ...
}

firebase.initializeApp(config);

var auth = require('./routes/auth')(firebase)

app.use('/admin', auth)
const PORT = 8081

...

var auth = require('./routes/auth')(firebase)

app.use('/auth', auth)

app.listen(PORT, function () {
  console.log(util.format('Example app listening on port %d!', PORT))
})
var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
  router.get('/auth', function(req, res) {
    res.send('hi')
  })

  return router
}
当我启动服务器时,它会给我一个
类型错误:无法读取未定义的属性'indexOf'
错误

它指向app.js中的require语句:

var auth=require('./routes/auth')(firebase)


编辑:

当我试图访问
/auth
时,它给了我一个无法获取/auth错误

app.js

var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
    ...
}

module.exports = router;
var firebase = require('firebase');

var config = {
    ...
}

firebase.initializeApp(config);

var auth = require('./routes/auth')(firebase)

app.use('/admin', auth)
const PORT = 8081

...

var auth = require('./routes/auth')(firebase)

app.use('/auth', auth)

app.listen(PORT, function () {
  console.log(util.format('Example app listening on port %d!', PORT))
})
var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
  router.get('/auth', function(req, res) {
    res.send('hi')
  })

  return router
}
路由/auth.js

var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
    ...
}

module.exports = router;
var firebase = require('firebase');

var config = {
    ...
}

firebase.initializeApp(config);

var auth = require('./routes/auth')(firebase)

app.use('/admin', auth)
const PORT = 8081

...

var auth = require('./routes/auth')(firebase)

app.use('/auth', auth)

app.listen(PORT, function () {
  console.log(util.format('Example app listening on port %d!', PORT))
})
var express = require('express');
var router = express.Router();

module.exports = function(firebase) {
  router.get('/auth', function(req, res) {
    res.send('hi')
  })

  return router
}

对于第一个问题,我尝试访问的url是


您的auth.js有2个导出。。所以你最后的出口会赢。我认为您的after更像->module.exports=function(firebase){returnrouter;}

第二个问题是,您正在使用app.use(url,obj)。。您提供的url将成为中间件的根节点。。因此,当您执行router.get(url,回调)时,接下来发生的是url将变成
/aut/auth

这里有两个选项

  • 不要提供根目录,例如
    app.use(auth)
  • 从get中删除url,因为它已经从
    应用程序中设置。使用
    ,所以
    路由器。get('/',回调)

  • 是的,错误指向require语句抱歉,我更新了问题!您的auth.js有2个导出。。所以你最后的出口会赢。我觉得你的after更像->
    module.exports=function(firebase){return router;}
    @Keith感谢它不再给出错误,我再次更新了帖子。我试图得到一个页面,但它给了我无法得到。。。错误您正在尝试什么url,并且您在路由器上有任何路由吗?。。