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 dateformat = require(‘dateformat‘)
    // 引入静态资源访问模块
const serveStatic = require(‘serve-static‘);
// 引入querystring模块
const querystring = require(‘querystring‘);

const router = require(‘./router/index‘)

//实现静态资源访问服务
const serve = serveStatic(path.join(__dirname, ‘public‘))
    // 配置模板的根目录
template.defaults.root = path.join(__dirname, ‘views‘)

//处理日期格式的方法
template.defaults.imports.dateformat = dateformat

//当客户端访问服务器端的时候
app.on(‘request‘, (req, res) => {
    // 启用路由功能
    router(req, res, () => {})
        // 启用静态资源访问服务功能
    serve(req, res, () => {})
})

app.listen(3000);
console.log(‘服务器启动成功‘)

index.js

//引入router模块
const getRouter = require(‘router‘);
//引入模板引擎
const template = require(‘art-template‘);
// 引入querystring模块
const querystring = require(‘querystring‘);

//创建集合规则
const Student = require(‘../model/User‘)
    // 获取路由对象
const router = getRouter();

//呈递学生档案信息页面
router.get(‘/add‘, (req, res) => {
    let html = template(‘index.art‘, {});
    res.end(html)
})

router.get(‘/list‘, async(req, res) => {
    //查询学生信息
    let student = await Student.find();
    console.log(student)
    let html = template(‘indexdetail.art‘, {
        student: student
    });
    res.end(html)
})

//实现学生信息添加功能
router.post(‘/add‘, (req, res) => {
    //接受post请求参数
    let formData = ‘‘;
    req.on(‘data‘, param => {
        formData += param;
    });
    req.on(‘end‘, async() => {
        await Student.create(querystring.parse(formData))

        res.writeHead(301, {
            Location: ‘/list‘
        });
        res.end()
    })
})

module.exports = router

connects.js

const mongoose = require(‘mongoose‘)

// 连接数据库
mongoose.connect(‘mongodb://localhost/playground‘, { useNewUrlParser: true })
    .then(() => console.log(‘数据库连接成功‘))
    .catch(() => console.log(‘数据库连失败‘))

Users.js

const mongoose = require(‘mongoose‘)
    // 创建学生集合规则
const studentsSchema = new mongoose.Schema({
    name: {
        type: String,
        require: true,
        minlength: 2,
        maxlength: 10
    },
    age: {
        type: Number,
        min: 10,
        max: 25
    },
    sex: {
        type: String
    },
    email: String,
    hobbies: [String],
    collage: String,
    enterDate: {
        type: Date,
        default: Date.now
    }
})

// 创建集合规则
const Student = mongoose.model(‘Student‘, studentsSchema)

module.exports = Student

原文地址:https://www.cnblogs.com/Rivend/p/12340043.html

时间: 2024-08-29 09:02:43

node.js (原生模板引擎模板)的相关文章

Node.js原生及Express方法实现注册登录原理

由于本文只是实现其原理,所以没有使用数据库,只是在js里面模拟数据库,当然实际中还是需要用数据库的. 1.node.js原生方法 ①html页面,非常简单,没有一丝美化~我们叫它user.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>user</title> </head> <body> 用户:<inp

Node.js如何找npm模板

首先需要去官网下载npm文件 https://www.npmjs.com/ 下载完成,使用CD查看是否安装完成 然后就是贴代码看npm模板的功能 var _ = require('underscore'); _.each([1, 2, 3], function(num){ console.log("underscore.js says " + num); }); 使用Ctrl+S保存为JavaScript代码命名为foo.js 再使用终端安装 npm install underscor

使用Node.js原生代码实现静态服务器

const http=require ('http');  //导入模块 const PORT=3000; //设置端口号3000(3000 5000 6000  9000) const HOSTNAME='localhost'; //或"127.0.0.1" http.createServer((req,res)=>{ res.writeHead('Content-type:text/html,charset:utf-8'); res.writeHead( 200, { //设

Node.js模板引擎的深入探讨

每次当我想用 node.js 来写一个 web 相关项目的时候,我总是会陷入无比的纠结,原因是 JavaScript 生态圈里的模板引擎实在太多了,但那么多却实在找不出一个接近完美的,所谓完美的概念就是功能丰富,书写简单,前后端可共用等一些属性.虽然可以在 Template Chooser 按功能进行挑选,但挑选的结果再用来对比还是各有各的问题.所以干脆就一些模板引擎进行稍微深入的分析,希望通过对比总结出哪种更值得去使用. 第一轮排除 在上次node模板引擎简单比较的文章里,其实已经有个简单的筛

js模板引擎介绍搜集

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

Node学习之(第三章:art-template模板引擎的使用)

前言 大家之前都有使用过浏览器中js模板引擎,其实在Node.js中也可以使用模板引擎,最早使用模板引擎的概念是在服务端新起的. art-template art-template是一款高性能的JavaScript 模板引擎,不仅可以在浏览器(前端)使用,同时也可以在Node中使用. GitHub地址:art-template 文档:官方中文 本章节我们来探讨下Node中使用art-template模板引擎生成一个标准的HTML文档. 主体 art-template原理就是将一个字符串数据按照模

理解node的模板引擎

1.1.3:分析模板引擎    1.什么是模板引擎 模板引擎是一个将页面模板和要显示的数据结合生成HTML页面的工具 可以这么理解,如果说Express中的路由控制方法是MVC中的控制器的话,那么模板就是MVC的视图. 什么是ejs? ejs是模板引擎的一种,也是在1.1.2节中用到的模板引擎,因为它使用起来非常简单,而且与express集成良好. 2.使用模板引擎 我在之前讲过通过以下两行代码设置模板文件的存储位置和使用的模板引擎: app.set('views', path.join(__d

推荐13款javascript模板引擎

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

前端知识点回顾——koa和模板引擎

koa 基于Node.js的web框架,koa1只兼容ES5,koa2兼容ES6及以后. const Koa = requier("koa"); const koa = new Koa(); //koa.use注册中间件(一个用来处理请求/修饰向服务器发起的请求的异步函数,参数为ctx和next) //每一个请求都会从上往下执行,当一个中间件调用 next() 则该函数暂停并将控制传递给定义的下一个中间件.当在下游没有更多的中间件执行后,堆栈将展开并且每个中间件恢复执行其上游行为. k