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. jdk tomcat

    vi /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_121export JRE_HOME=/usr/java/jdk1.8.0_121/jreexp ...

  2. EcmaScript内置对象的属性与方法

  3. Vue中全局导入和按需导入的区别

    export {router} //按需导出 import {router} from './router' //按需导入路由模块 export default //全局导出store模块 store ...

  4. Codeforces 1161B(判断旋转对称)

    要点 外层暴力枚举转的"角度",会发现肯定是n的约数 对于m条线段想判定当前的"角度"是否ok,每个线段只要管它自己的下一个即可,不必画个圈遍历一遍 之后将本来 ...

  5. FileTest

    package com.yd.wmsc.util; import java.io.File; public class FileTest { public static void main(Strin ...

  6. Java面向对象_单例设计模式

    单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点 1.构造方法私有化 2.声明一个本类对象 3.给外部提供一个静态方法获取对象实例 两种实现方式:饿汉式和懒汉式 何种情况下使用呢?当 ...

  7. Hadoop InputFormat详解

    InputFormat是MapReduce编程模型包括5个可编程组件之一,其余4个是Mapper.Partitioner.Reducer和OutputFormat. 新版Hadoop InputFor ...

  8. PHP面试题基础问题

    1.对于大流量的网站,您采用什么样的方法来解决访问量问题? 首先,确认服务器硬件是否足够支持当前的流量 其次,优化数据库访问. 第三,禁止外部的盗链. 第四,控制大文件的下载. 第五,使用不同主机分流 ...

  9. 白话SpringCloud | 第一章:什么是SpringCloud

    前言 作为SpringCloud的正式第一章,我们先来简单了解下SpringCloud相关知识点吧,内容可能比较多. 何为微服务 传统单体架构 服务化架构 微服务架构 什么是SpringCloud 核 ...

  10. 让zepto支持requirejs的方法

    window.Zepto = Zepto '$' in window || (window.$ = Zepto) if ( typeof define === "function" ...