【发布时间】:2014-10-05 01:15:26
【问题描述】:
我有一个设计为“Google Card”的页面。我想在这个主页的卡片上渲染一些视图。
卡片界面如下所示:
因为可以有很多卡片,所以我把我的项目组织成模块。
(顺便说一句,如果你知道一个框架比 Express 更适合我的项目,你能告诉我吗?:))
我正在使用带有 Express 框架的 Node.js。我的目录结构是这样的:
|-app
|--modules
|---weather
|---index.js
|----views
|-----weather.jade
|--views
|--config.js
|--server.js
|-public
|--assets
|---img
|---css
|---...
这是我当前的一些代码:
server.js:
var express = require('express');
var app = express();
app.use("/public", express.static(__dirname + '/../public'));
app.set('view engine', 'jade');
Board = {};
Board.modules = {};
Board.modules.weather = require('./modules/weather');
app.use(Board.modules.sticks);
app.get('/', function(req,res){
tpl = {};
tpl.modules = Board.modules;
console.log(tpl);
res.render(__dirname + '/views/board.jade', tpl);
});
app.listen(8080);
board.jade(主页)
doctype html
html(lang="fr")
head
meta(charset="utf-8")
title Board
block stylesheets
link(rel="stylesheet", href="/public/assets/css/reset.css")
link(rel="stylesheet", href="/public/assets/css/board.css")
body
// Background
div.bg
// Header
header.topinfo
span.left.ip
| 192.168.31.11
span.center.logo
span.logo
span.logo-baseline
span.right.time
| 13:37
// Modules
ul
each val in modules
li= val
block scripts
script(src="/public/assets/bower_components/jquery/dist/jquery.min.js")
script(src="/public/assets/lib/jquery-taphold/taphold.js")
script(src="/public/assets/lib/background-check/background-check.min.js")
script(src="/public/assets/bower_components/masonry/dist/masonry.pkgd.min.js")
script(src="/public/assets/js/app.js")
还有模块/天气/index.js
var express = require('express');
var app = module.exports = express();
app.get('/', function(req,res){
res.render(__dirname + '/views/sticks.jade');
});
我认为目的就像获取 modules/weather/index.js 的 app.get('/') 的结果,但不调用路由,然后将渲染结果插入主视图,但我不知道如何保持代码的模块化......
【问题讨论】:
-
你已经定义了 2 个 app.get('/'),所以它可能会发生冲突。你为什么不试试:
app.get('/') -> res.render('/index.jade'); app.get('/weather') -> res.render('/sticks.jade')并且在index.jade中有js 脚本调用ajax$get({url :'/weather'})并将数据填充到诸如<div class="weather-stick"></div>之类的类中
标签: javascript node.js express pug