我目前有3条路线,请看这里:
app.get('/', require("./routes/home"));
app.use('/blog', require("./routes/blog"));
app.get('/projects', require("./routes/projects"));
博客和家庭都很好,但项目不匹配,只是说"无法获得"。
我读了一些堆栈溢出资源,google dev资源等,但是没有一个解决方案似乎正在运行。
这是我的routes/projects
文件:
var express = require("express");
var router = express.Router();
router.get("/", function(req, res, next){
//database query for all projects to be passed to the view
res.render("projects", {
pageTitle: "Projects",
projects: [{
id: 1,
name: "project 1"
}]
});
});
router.get("/project/:id", function(req, res, next) {
//database query for a specific project based on the id
//res.render('project-info', { pageTitle, projectName, projectDetail });
});
module.exports = router;
这是它正在渲染的views / projects.jsx文件(或至少应该):
var React = require('react');
var DefaultLayout = require('./layouts/default');
var projectCard = require("./components/project-card.jsx");
class projectInfo extends React.Component {
render() {
var projects = this.props.projects.map(function(project, i) {
return <projectCard id={project.id} projectName={project.name} />;
});
return (<DefaultLayout pageTitle={`James Robb Web Developer | ${this.props.pageTitle}`}>
{projects}
</DefaultLayout>);
}
}
module.exports = projectInfo;
我在这里遗漏了什么吗?因为似乎没有什么工作可以解决问题,我需要明确的工作路线。
如果您有任何疑问,请随便询问!
为了澄清,我正在使用express-react-views,这就是为什么我为我的页面渲染.jsx反应文件,而不是例如pug或hogan,它在其他页面上工作正常...只是因为某事是问题,不是。