龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

nodejs教程之制作一个简单的文章发布系统_node.js(2)

时间:2014-11-22 03:06来源:网络整理 作者:网络 点击:
分享到:
复制代码 代码如下: npm install -g supervisor 这个样子后,修改了文件就不需要手动重启了(需要将news_app放到项目目录下),于是准备工作到此为止 项目结构

复制代码 代码如下:
npm install -g supervisor

这个样子后,修改了文件就不需要手动重启了(需要将news_app放到项目目录下),于是准备工作到此为止

项目结构

第一步结束后,我们就需要思考下项目结构了

① 首页为index这里将列出所有新闻类型以及对于新闻条目

② 各个新闻条目拥有编辑/删除/查看 三个按钮

③ 首页具有增加新闻按钮(增加时候可上传图片)

基本功能如上

于是,我们去掉app里面的路由功能,将路由全部放到index里面

复制代码 代码如下:

//将路由功能放入index
//app.get('/', routes.index);
//app.get('/users', user.list);
routes(app);

复制代码 代码如下:

module.exports = function (app) {
  //主页,现在也是首页
  app.get('/', function (req, res) {
    res.render('index', { title: 'Express' });
  });
  app.get('/add', function (req, res) {
    res.send('增加新闻请求');
  });
  app.get('/delete', function (req, res) {
    res.send('删除新闻请求');
  });
  app.get('/view', function (req, res) {
    res.send('查看新闻请求');
  });
  app.get('/update', function (req, res) {
    res.send('修改新闻请求');
  });
};

第一步简单如此,因为增加新闻应该有单独的页面,而具体点击增加按钮又会有其他处理,所以内部还得细分各个请求,现在规定如下:

/ 默认页面,该页面显示所有类型以及新闻,并带有删除按钮

/add 进入添加新闻页面

/addNews 添加新闻具体post请求地址(点击按钮时候的响应)

/delete 删除新闻请求

/view 具体新闻查询

于是稍微修改下上述路由:

复制代码 代码如下:

module.exports = function (app) {
  //主页,现在也是首页
  app.get('/', function (req, res) {
    res.render('index', { title: 'Express' });
  });
  app.get('/add', function (req, res) {
    res.send('添加新闻页面');
  });
  app.post('/addNews', function (req, res) {
    res.send('处理添加新闻请求');
  });
  app.get('/delete', function (req, res) {
    res.send('删除新闻请求');
  });
  app.get('/view', function (req, res) {
    res.send('查看新闻请求');
  });
};

于是我们需要新建几个模板组织我们的网页,这里我们先不分离头尾只要最简单的页面即可

新增add与view两个模板文件,暂时表现与index.ejs一致,并且修改导航相关

复制代码 代码如下:

module.exports = function (app) {
  //主页,现在也是首页
  app.get('/', function (req, res) {
    res.render('index', { title: 'Express' });
  });
  app.get('/add', function (req, res) {
    res.render('add', { title: '添加新闻页面' });
  });
  app.post('/addNews', function (req, res) {
    res.send('处理添加新闻请求');
  });
  app.get('/delete', function (req, res) {
    res.send('删除新闻请求');
  });
  app.get('/view', function (req, res) {
    res.render('view', { title: '查看新闻请求' });
  });
};

至此项目结构结束

数据操作

整体结构出来后,我们就需要进行数据操作了:

① 增加数据(增加新闻)

② 展示数据(展示新闻)

③ 删除数据(删除新闻)

本来还涉及到类型操作的,但是做着做着给搞没了,暂时不管他吧,因为首次做容易迷糊

增加新闻

这里,我们就不使用表单提交了,我们用ajax......这里顺便引入zepto库,于是我们的页面成了这样

精彩图集

赞助商链接