Node.js 蚕食计划四—— Express + SQL Server 搭建电影网站

课程,按照自己的思路做了一遍,发博客记录一下

,Express 框架搭建服务,前端页面都是通过 jade 模板引擎生成,为了少写点 css 就引入了 Bootstrap

mssql 模块

中添加这几个字段

然后 npm install 安装依赖项

在 app.js 中能找到这样的一段代码

这里将 views 目录设置为视图目录,用来存放静态页面,并且只识别 .jade 类型的文件

如果直接使用 .html 文件,就需要把第二行代码改为

(,);

常用的模板引擎有 ejs 和 jade,通过 Express 搭建的项目会默认使用 jade,所以这里我们也使用 jade 写模板

如果还不熟悉 jade 的语法,可以看一看这篇文章学习一下  

我一共写了这五个模板,其中 error.jade 是 404 页面,layout.jade 是基本结构,包含 header 和 footer

index.jade 是首页,detail.jade 是详情页,list.jade 是评论列表

上一篇博客中提到,如果需要引入 css 或者 js,一般是css 和 js 文件拷贝到 public 目录下,然后在页面中引入

项目中需要引入 bootstrap,如果以这种方式引入,还得去 node_modules 目录下找到对应的文件

所以我在 app.js 中添加了这一行代码

这样在 layout.jade 中引入的依赖文件的时候,就可以这么写

页面内容可以先忽略,先把路由给配置好

在 routes 目录下创建三个页面对应的 js 文件

然后在 app.js 中引入

在 app.js 中配置路由结点

然后在浏览器中打开项目,就能正确的渲染页面了

具体的页面开发不再赘述,熟悉了 jade 的语法之后,写起来还是很顺手的

在开发页面的时候,页面上的数据可以先写死,以方便查看页面效果

页面开发完成之后,再把数据挪到数据库里面

在 SQL Server 中创建数据并不复杂,首先打开 SQL Server,连接本地服务器,创建一个登录名

 

然后创建一个数据库

展开刚才新建的数据库,新建表

数据库之前,页面上需要这些参数:

引入 模块

sql = require(<span style="color: #008000;">/<span style="color: #008000;"> GET home page. <span style="color: #008000;">/<span style="color: #000000;">
router.
<span style="color: #0000ff;">get(<span style="color: #800000;">'<span style="color: #800000;">/<span style="color: #800000;">'<span style="color: #000000;">,function(req,res,next) {
sql.connect(<span style="color: #0000ff;">config).then(() =><span style="color: #000000;"> {
<span style="color: #008000;">//<span style="color: #008000;"> 插入SQL语句
<span style="color: #0000ff;">return sql.query<span style="color: #0000ff;"&gt;select * from</span><span style="color: #000000;"&gt;<span style="color: #0000ff;"&gt; mytable</span>
}).then(result =><span style="color: #000000;"> {
res.render(<span style="color: #800000;">'<span style="color: #800000;">index<span style="color: #800000;">'<span style="color: #000000;">,{
title: <span style="color: #800000;">'<span style="color: #800000;">WiseWrong<span style="color: #800000;">'<span style="color: #000000;">,movies: result.recordset <span style="color: #008000;">//<span style="color: #008000;">查询结果
<span style="color: #000000;"> });
sql.close(); <span style="color: #008000;">//<span style="color: #008000;"> 断开数据库的连接,很关键
}).<span style="color: #0000ff;">catch(err =><span style="color: #000000;"> {
res.render(<span style="color: #800000;">'<span style="color: #800000;">error<span style="color: #800000;">'<span style="color: #000000;">);
console.log(<span style="color: #800000;">'<span style="color: #800000;">出错了 <span style="color: #800000;">'<span style="color: #000000;">,err);
})
sql.on(<span style="color: #800000;">'<span style="color: #800000;">error<span style="color: #800000;">',err =><span style="color: #000000;"> {
res.render(<span style="color: #800000;">'<span style="color: #800000;">error<span style="color: #800000;">'<span style="color: #000000;">);
console.log(<span style="color: #800000;">'<span style="color: #800000;">出错了 <span style="color: #800000;">'<span style="color: #000000;">,err);
})
});

上面的代码是直接写在 index.js 里面了,如果每个页面都写一套,肯定会有大量的重复性代码,所以一定得封装一下

如果是提交表单,只需要把接口地址改一改,然后处理数据,编写SQL就行

相关文章

根据官网 入门 express
java叫接口control什么的app.get.post等等都是请求方式我们可...
为了前端丢进去的时候可以直接判断中间件就是经过了这个就会...
Express 文件的上传和下载
运行命令下载app.js 增加中间件。
基本模板来的 后面用后就有什么加什么都行。