const express = require('express');

const swig =require('swig');

const fs = require('fs');

//创建服务器

const server = express();

//让服务器使用中间件处理请求

//参数1:请求的url中的一段重头开始匹配路径

//npm sun start

//处理请求方式

//server.get();

//server.post();

//配置静态资源的方法

//第一个参数的值是url路径的前缀,也是路径的一段值。

//当请求的url跟参数一配置时,被express.static方法处理。静态读取资源的方式处理

server.use('/static',express.staic('./www'));

/*

请求:/static/css/home.css --->(use()处理):/css/home.css--->(express.static('./www')处理):./www/css/home.css

//处理html页面请求
// 配置模板引擎
//1.配置模板存放的目录
// 参数1:关键字,配置模板存放的目录
// 参数2:目录
server.set('views', './htmlDir');
// 2.声明将要使用的模板引擎
// 参数1:固定字段,关键字
// 参数:引擎名字,也跟文件的后缀一致
server.set('view engine', 'html');
// 3.配置模板引擎
// 参数1:使用的引擎名字,固定字段,关键字
// 参数2:引擎
server.engine('html', swig.renderFile);
// 关闭缓存
swig.setDefaults({cache: false});
// 渲染首页
server.get('/', (request, response)=>{
//查询数据库,页面所用到的数据
// 参数1:模板文件路径
// 参数2:模板使用的属性
response.render('index', {
// username: '张三'
goodslist: [
{title: '上衣', price: '299'},
{title: '鞋子', price: '499'},
{title: '袜子', price: '9.9'}
]
});
// swig.renderFile => ./www/home.html
})
/*
前后台不分离:
页面的数据由后台取得,渲染在模板上,再响应客户端
pc端
前后台分离:
页面的数据由前端发送ajax请求跟后台,取得数据后,操作dom,显示在页面
后台管理系统
移动端
*/
// server.get('/home', (request, response)=>{
// let result = fs.readFileSync('./www/home.html');
// response.end(result);
// })
// server.use('/', express.static('./www'));
// server.get('/list', (request, response)=>{
// let result = fs.readFileSync('./www/list.html');
// response.end(result);
// })
// 开启服务器
server.listen(, 'localhost', (error)=>{
if(error){
console.log('服务器出错');
}else{
console.log('服务器启动成功,请访问:http://localhost:8080');
}
})

*/

node的webserver模板的更多相关文章

  1. node向html模板发送数据

    node向html模板发送数据 给模板传递数据 router.get('/', function(req, res, next) { res.render('index', { title: '张三' ...

  2. node 渲染html模板配置

    node 渲染html模板配置 安装swig模块 npm install swig--save - dev 加载swig模块 var swig = require('swig'); 模板配置 //第一 ...

  3. node.js render模板

    在用node组织前端架构和后端的时候,如果不用nginx做反向代理,则会考虑怎么样render模板. 在现有的项目中没有以下几种方式render模板: 1.将.html当做静态文件,如果url定位到哪 ...

  4. windows&lunix下node.js实现模板化生成word文件

    最近在做了一个小程序!里面有个功能就是根据用户提交的数据,自动生成一份word文档返回给用户.我也是第一次做这功能,大概思路就是先自己弄一份word模板,后台接受小程序发过来的数据,再根据这些数据将相 ...

  5. node(基础)_node.js中的http服务以及模板引擎的渲染

    一.前言 本节的内容主要涉及: 1.node.js中http服务 2.node.js中fs服务 3.node.js中模板引擎的渲染 4.利用上面几点模拟apache服务器 二.知识 1.node.js ...

  6. 细说后端模板渲染、客户端渲染、node 中间层、服务器端渲染(ssr)

    细说后端模板渲染.客户端渲染.node 中间层.服务器端渲染(ssr) 前端与后端渲染方式的发展大致经历了这样几个阶段:后端模板渲染.客户端渲染.node 中间层.服务器端渲染(ssr). 1. 后端 ...

  7. 推荐13款javascript模板引擎

    javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于j ...

  8. 浅谈 Web 中前后端模板引擎的使用

    前言 这篇文章本来不打算写的,实话说楼主对前端模板的认识还处在非常初级的阶段,但是为了整个 源码解读系列 的完整性,在深入 Underscore _.template 方法源码后,觉得还是有必要记下此 ...

  9. nodemailer实现node发送邮件

    作为一个前端er,利用node独立做一些全栈小项目,是很有效率和必要的. 需要: 做一个活动报名页面,用户填好的表单需要被工作人员收到,一想到把数据存数据库,还需要给工作人员写一个管理页面就觉得很麻烦 ...

随机推荐

  1. CDN-内容发布网络

    整理<CDN技术详解>一书中重要的内容. 互联网与万维网 广义的互联网,由两层组成:一层是以TCP/IP为代表的网络层:另一层是以万维网WWW为代表的应用层.辨识互联网和万维网的区别,是认 ...

  2. 平衡树合集(Treap,Splay,替罪羊,FHQ Treap)

    今天翻了翻其他大佬的博客,发现自己有些...颓废... 有必要洗心革面,好好学习 序:正常的BST有可能退化,成为链,大大降低效率,所以有很多方法来保持左右size的平衡,本文将简单介绍Treap,S ...

  3. 转 xshell 图像化展示

    http://www.cnblogs.com/kellyseeme/p/7965830.html 限制: 无法显示通过堡垒机登录的机器的图形接界面. 只能显示直接登录的服务到期的图像化界面 Xshel ...

  4. Linux Shell 中数组的语法及应用

    #!/bin/sh## 数组的声明与初始化方法# 先声明后赋值:declare -a arrayarray=(one two three) # 声明并初始化:array_1=(1 2 3 four) ...

  5. Asp.NetCore 从控制台到WebApi

    一.新建一个.NetCore控制台程序 二.添加依赖项 三.添加Startup.cs文件 using Microsoft.AspNetCore.Builder; using Microsoft.Asp ...

  6. Spring和springMVC父子容器的关系

    部分转载自:https://www.cnblogs.com/ljdblog/p/7461854.html springMVC容器和Spring容器 为什么一定要在web.xml中配置spring的li ...

  7. android 开发-数据存储之文件存储

    android的文件存储是通过android的文件系统对数据进行临时的保存操作,并不是持久化数据,例如网络上下载某些图片.音频.视频文件等.如缓存文件将会在清理应用缓存的时候被清除,或者是应用卸载的时 ...

  8. spring技术小结

    1.DI和IOC 依赖注入(Dependency Injection)还是控制反转(Inversion of Conctrol) bean通过依赖注入,注册到spring容器里面.spring容器通过 ...

  9. Tomcat Stack-8.0.35 (OpenLogic CentOS7.2)

       平台: CentOS 类型: 虚拟机镜像 软件包: apache2.4.20 mysql5.6.30 tomcat8.0.35 apache application server basic s ...

  10. Python Visual Studio 2015

    对于一直是C#开发的我来说,上Python是老早就想的事情了. 上次有个项目开始做就说要用Python,后来因为不太熟练就给推掉了.现在终于还是有机会开始下Python之旅. 因为是在Visual S ...