NodeJs学习日报——day3
// 导入模块
const http = require('http') // 创建web服务器实例
const server = http.createServer() // 为服务器实例绑定request事件,监听客户端请求
server.on('request', function (req, resp) {
console.log("Someone visit our web server.");
}) // 启动服务器
server.listen(8080, function () {
console.log("server running at http://120.0.0.1:8080");
})
// 导入模块
const http = require('http') // 创建web服务器实例
const server = http.createServer() server.on('request', (req) => {
const url = req.url
const method = req.method
const str = `Your request url is ${url},and request method is ${method}`
console.log(str);
}) // 启动服务器
server.listen(8080, function () {
console.log("server running at http://120.0.0.1:8080");
})
// 导入模块
const http = require('http') // 创建web服务器实例
const server = http.createServer() server.on('request', (req, resp) => {
// 设置编码格式
resp.setHeader('Content-Type', 'text/html; charset=utf-8') const url = req.url
const method = req.method
const str = `你请求的url是 ${url},请求方法是 ${method}`
console.log(str); // 调用resp.end方法,响应信息
resp.end(str)
}) // 启动服务器
server.listen(8080, function () {
console.log("server running at http://120.0.0.1:8080");
})
const fs = require('fs')
const path = require('path')
// 定义正则表达式,分别匹配style和script
const regStyle = /<style>[\s\S]*<\/style>/
const regScript = /<script>[\s\S]*<\/script>/
fs.readFile (path.join(__dirname, './clock/index.html'), 'utf-8', function(err, dataStr) {
    if (err) {
        return console.log("读取HTML文件失败" + err.message);
    }
    resolveCSS(dataStr)
    resolveJs(dataStr)
    resolveHtml(dataStr)
})
// 定义处理css样式的方法
function resolveCSS(cssStr) {
    // 使用正则提取需要的内容
    const r1 = regStyle.exec(cssStr)
    // 将提取出来的样式字符串,进行字符串的replace替换操作
    const newCss = r1[0].replace('<style>', '').replace('</style>', '')
    // 将提取的样式,存储到index.css文件中
    fs.write(path.join(__dirname, "./clock/index.css"), newCss, function(err) {
        if (err) {
            return console.log("css文件写入失败" + err.message);
        }
        console.log("css文件写入成功");
    })
}
// 定义处理js样式的方法
function resolveJs(JsStr) {
    // 使用正则提取需要的内容
    const r2 = regScript.exec(JsStr)
    // 将提取出来的样式字符串,进行字符串的replace替换操作
    const newJs = r2[0].replace('<script>', '').replace('</script>', '')
    // 将提取的样式,存储到index.css文件中
    fs.write(path.join(__dirname, "./clock/index.js"), newJs, function(err) {
        if (err) {
            return console.log("js文件写入失败" + err.message);
        }
        console.log("js文件写入成功");
    })
}
// 定义处理html文件的方法
function resolveHtml(htmlStr) {
    // 将字符串调用replace方法,把内嵌的style和script替换成内联标签
    const newHtml = htmlStr.replace(regStyle, '<link rel="stylesheet" href="./index.css" />')
    .replace(regScript, '<script src="./index.js"></script>')
    // 写入html文件
    fs.write(path.join(__dirname, './clock/index.html'), newHtml, function(err) {
        if (err) {
            return console.log("html文件写入失败" + err.message);
        }
        console.log("文件写入成功");
    })
}
NodeJs学习日报——day3的更多相关文章
- NodeJs学习日报day8——接口编写
		
今天看了黑马NodeJs中关于接口编写以及跨域问题的视频
 - NodeJs学习日报day9——操作数据库
		
const mysql = require('mysql') const db = mysql.createPool({ // 数据库的ip地址 host: 'localhost', user: 'r ...
 - NodeJs学习日报day7——简单中间件
		
const express = require('express') const app = express() const mw = function(req, resp, next) { cons ...
 - NodeJs学习日报day6——路由模块
		
const express = require('express') const app = express() app.get('/user', function(req, resp) { resp ...
 - NodeJs学习日报day5——导入模块
		
const { match } = require("assert") function dateFormat(dataStr) { const dt = new Date(dat ...
 - NodeJS学习日报day4——模块化
		
// console.log(module); // 执行顺序不同,结果也不同 // module.exports = { // name : 'Cra2iTeT', // hi() { // con ...
 - Nodejs学习路线图
		
前言 用Nodejs已经1年有余,陆陆续续写了48篇关于Nodejs的博客文章,用过的包有上百个.和所有人一样,我也从Web开发开始,然后到包管 理,再到应用系统的开发,最后开源自己的Nodejs项目 ...
 - Nodejs学习笔记(四)——支持Mongodb
		
前言:回顾前面零零碎碎写的三篇挂着Nodejs学习笔记的文章,着实有点名不副实,当然,这篇可能还是要继续走着离主线越走越远的路子,从简短的介绍什么是Nodejs,到如何寻找一个可以调试的Nodejs ...
 - Nodejs学习笔记(三)——一张图看懂Nodejs建站
		
前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试 ...
 
随机推荐
- CentOS7.5环境下Docker环境搭建
			
1. 安装wget工具: yum install wget -y 2. 使用wget工具从docker官网下载yum源: wget -P /etc/yum.repos.d/ https://downl ...
 - spring——IOC理论
			
这里主要是对于IOC理论提出的一个认识 dao接口 public interface Fruit { String getFruit(); } dao接口的实现类 public class Fruit ...
 - [SniperOJ](web)图书管理系统 注入 源码泄露
			
0x00 题目概况 题目地址:http://www.sniperoj.cn:10000/ 这是一道注入题,存在git源码泄露,使用githack(freebuf有工具介绍)把源码脱下来,进行审计,然后 ...
 - 题解0007:小木棍(P1120)
			
(错误记录) 题目链接:https://www.luogu.com.cn/problem/P1120 题目描述:几根同样长的木棍,小冥把它们随意砍成了n段: 然后他又吃饱了撑的想把木棍拼上: 但是这个 ...
 - 使用postman进行post请求传递中文导致后台接收乱码的问题
			
1.个人猜测估计是如果header里不指明编码的话,经过tomcat服务器时会导致转换乱码信息,这样就算你在filter里配置了EncodingFilter相关的过滤器也无济于事.. 解决方法就是在h ...
 - Hibernate的session.load()和session.get()有什么分别?
			
Get会发送查询语句提取数据,而load方法当对象使用时才去数据库查询.如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException.Lo ...
 - @Component, @Controller, @Repository,  @Service 有何区别?
			
@Component :这将 java 类标记为 bean.它是任何 Spring 管理组件的通 用构造型.spring 的组件扫描机制现在可以将其拾取并将其拉入应用程序环境 中. @Controll ...
 - Java 有没有 goto?
			
goto 是 Java 中的保留字,在目前版本的 Java 中没有使用.(根据 James Gosling (Java 之父)编写的<The Java Programming Language& ...
 - NetCore微服务实现事务一致性masstransit之saga使用
			
demo如下,一个订单处理的小例子: 首先看看结果很简单: 核心代码如下: using MassTransit; using Microsoft.Extensions.DependencyInject ...
 - AD18布线技巧
			
3. 快乐打孔模式(颜色配置)PCB 设计完成后,补回流孔,需要打开多层,软件设置如下: 设置方法: 转载原文链接未知