express,app怎么传到controller上?
发布于 3个月前 作者 coolicer 478 次浏览 来自 问答

我用了webstorm新建一个项目,然后:

app.js

app.locals.title = '123’; (不要这个) app.set(‘xxxx’,’xxxxxxxxxxxx’)

routers/index.js

var express = require(‘express’); var router = express.Router(); var app = require(‘…/app’); console.log(1,app.get('xxxx)); —> 没有get方法 /* GET home page. */ router.get('/’, function(req, res) { res.render('index’, { title: ‘Express’ }); });

module.exports = router;

16 回复

。。。 app.js最后加上 module.export = app;

@MiguelValentine 新建就有这一条的。只是我没写出来,而且你还写错了,少了个s

其实我推荐的的写法是 conf.js var conf = {} conf.title = ‘xxx’

router/index require(‘…/conf.js’) console.log(conf.title)

//其实说到底,直接用require,不需要exports。

@coolicer app.locals输出{} 因为他是应该个OBJECT类,还是空的 但是app.locals.title是可以打印出来的

@MiguelValentine 有点离题了,我主要是想知道App能不能到 routers 上

@coolicer 已经传过去了,app.locals没传过去的话,会报错的

打印的是什么? app.locals.title

@MiguelValentine 其实我是想把app弄过去

@coolicer 我懂了,等一下,我查个API

@coolicer var app = express(); 不知道用在中间件里有没有冲突,我也没试过

@MiguelValentine 我好像试过,但是它是另一个App了。纠结啊

@coolicer app.js app.use(router(app))

router var app; module.exports = paser; var paser = function(appx){ app = appx; router; }

按照这个思路改改

回到顶部