node的webserver模板

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(8888, ‘localhost‘, (error)=>{

if(error){

console.log(‘服务器出错‘);

}else{

console.log(‘服务器启动成功,请访问:http://localhost:8080‘);

}

})

*/

原文地址:https://www.cnblogs.com/yunshangwuyou/p/9343186.html

时间: 2024-07-31 21:19:16

node的webserver模板的相关文章

node 渲染html模板配置

node 渲染html模板配置 安装swig模块 npm install swig--save - dev 加载swig模块 var swig = require('swig'); 模板配置 //第一个参数:模板引擎的名称,同时也是模板文件的后缀,第二个参数解析模板内容的方法 app.engine('html', swig.renderFile); //设置文件存放目录,第一个参数必须是views,第二个参数是目录 app.set('view engine', 'html'); //在开发过程中

node.js ejs模板引擎将后端数据赋值给前端js

使用node.js的Express脚手架生成项目默认是jade模板引擎,jade引擎实在是太难用了,这么难用还敢设为默认的模板引擎,过分了啊!用handlebars模板引擎写还说的过去,但笔者更愿意使用ejs,选它是因为跟Asp.Net的模板引擎有点相似吧. 先来看一下这几个模板引擎: jade模板 html head title #{title} meta(charset="UTF-8") body div.description #{description} ul - each d

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

最近在做了一个小程序!里面有个功能就是根据用户提交的数据,自动生成一份word文档返回给用户.我也是第一次做这功能,大概思路就是先自己弄一份word模板,后台接受小程序发过来的数据,再根据这些数据将相应内容写入到相应位置,再将生成word文档的地址返回给前台,前台再根据返回的URL访问服务器的上对应资源. 由于我的后台用的是node.js  毕竟算是新生语言,插件还是比较少.所以在这里总结一下,以便以后再次用到方便查看. 在windows上动态生成模板word文档. 在windows上实现这个倒

Node学习8-handlebars模板

npm install handlebars 像apk这种文件,虽然返回值是text/plain,但是直接就下载了,真智能. //把访问的绝对路径拼出来 //如果别人想看根目录之前的呢?手动输入\..也会变成/,我也不知道为什么 console.log(req.url); var filePath = path.join(process.cwd(),req.url); console.log('绝对路径'+filePath); //查看访问的这个路径的信息 //如果访问127.0.0.1:300

node.js (原生模板引擎模板)

app01 // 引入http模块 const http = require('http'); //连接数据库 require('./model/connects'); // 创建网站服务器 const app = http.createServer(); //引入模板引擎 const template = require('art-template'); // 引入path模块 const path = require('path'); // 引入处理日期的第三方模块 const datefo

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

细说后端模板渲染.客户端渲染.node 中间层.服务器端渲染(ssr) 前端与后端渲染方式的发展大致经历了这样几个阶段:后端模板渲染.客户端渲染.node 中间层.服务器端渲染(ssr). 1. 后端模板渲染 前端与后端最初的渲染方式是后端模板渲染,就是由后端使用模板引擎渲染好 html 后,返回给前端,前端再用 js 去操作 dom 或者渲染其他动态的部分. 这个过程大致分成以下几个步骤: 前端请求一个地址 url 后端接收到这个请求,然后根据请求信息,从数据库或者其他地方获取相应的数据 使用

推荐13款javascript模板引擎

javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于javascript 实现的模板引擎,类似于 Microsoft’s jQuery template plugin,但更简单易用! 2. EasyTemplate 在使用过Freemarker模 板后,感觉它的 语法比较朴实,平易近人,容易上手,于是决定按它的语法风格实现一个前端的 模板引擎,这就有了

js模板引擎介绍搜集

js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTemplate等),如何从这么多纷繁的模板引擎中选择一款适合自己的呢,笔者最近对主流的js模板引擎(mustache,doT,juicer,artTemplate,baiduTemplate,Handlebars,Underscore)做了一番调研,分享出来希望对大家有用. 从这几个指标来比较js模板

高性能双端js模板---simplite

simplite是一款js实现的模板引擎,它能够完成浏览器端js模版和node服务器端js模板的数据渲染. 渲染性能十分突出. 支持浏览器端和node服务器端模板渲染. 它简单易用,默认采用jsp语法风格来编写逻辑部分的代码,当然,如果你想定制其他标签,也是可以很方便的配置. 它采用原生js语法,没有给使用者带来学习上的成本,当然,采用原生js能够进一步提高渲染的性能. 可以动态导入子模板,当然,子模板可以多层嵌套,同时支持为子模板传入指定的数据集来渲染子模板,非常实用的功能. 可以支持松散的j