NodeJS后台

NodeJS后台

后台:
1.PHP
2.Java
3.Python

优势
1.性能
2.跟前台JS配合方便
3.NodeJS便于前端学习

https://nodejs.org/en/

image.png

image.png

image.png

1.切换盘符 e:
2.改变目录 cd 目录名
3.执行程序 node xxx.js

const http = require('http');

http.createServer(function(req, res){
 // 前台响应
 res.write("dashucoding");
 res.end();
});

// 监听
// 端口
server.listen(123);

nodeJS——服务器

http——协议
request 请求
response 响应

image.png

文件操作:fs——File System
http——模块

异步 vs 同步
异步——多个操作可以同时进行,前一次的操作没完事,后一次也能开始
同步——一次一个

const fs=require('fs');

// readFile(文件名,回调函数)
readFile(文件名, function (err, data){})
writeFile(文件名, 内容, function (err){})

oBtn.onclick=function (){
	alert('a');
};

alert('b');

image.png

image.png

image.png

const http=require('http');
const fs=require('fs');

var server=http.createServer(function (req, res){
  //req.url=>'/index.html'
  //读取=>'./www/index.html'
  //  './www'+req.url
  var file_name='./www'+req.url;

  fs.readFile(file_name, function (err, data){
    if(err){
      res.write('404');
    }else{
      res.write(data);
    }
    res.end();
  });
});

server.listen(8080);
const fs=require('fs');

//writeFile(文件名, 内容, 回调)
fs.writeFile("bbb.txt", "dda", function (err){
  console.log(err);
});
const fs=require('fs');

//readFile(文件名, 回调函数)
fs.readFile('aaa.txt', function (err, data){
  if(err){
    console.log('读取失败');
  }else{
    console.log(data.toString());
  }
});

//fs.writeFile

buffer类用于二进制数据的存储提供一个缓存区
settimeout函数用于指定时间到达执行一个指定函数,指定方法为从当前时刻之后多少毫秒
cleartimeout函数用于取消在settimeout函数内指定的函数的执行

var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, {'Content-Type':'text/html'});
res.write('<head><meta charset="utf-8"/></head>');
res.end('你好\n');
}).listen(1234,"127.0.0.1");
var http=require('http');

http.createServer(function(req,res){
// 回调函数中的代码
})

image.png

 //一行
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-all;
//两行
 text-overflow: -o-ellipsis-lastline;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;

image.png

image.png

小程序简单实现双击事件

data = {
      tabBar: [],
      // recommendList: [],
      floorList: [],
      banners: [],
      currentIndex: 1,
      canGetCoupon: false,
      // 触摸开始时间
      touchStartTime: 0,
      // 触摸结束时间
      touchEndTime: 0,
      // 最后一次单击事件点击发生时间
      lastTapTime: 0
    }
getCoupon: function (e) {
        let that = this
        if (that.touchEndTime - that.touchStartTime < 350) {
          // 当前点击的时间
          let currentTime = e.timeStamp
          let lastTapTime = that.lastTapTime
          // 更新最后一次点击时间
          that.lastTapTime = currentTime
          // 如果两次点击时间在300毫秒内,则认为是双击事件
          if (currentTime - lastTapTime < 300) {
            // 成功触发双击事件时,取消单击事件的执行
            // clearTimeout(that.lastTapTimeoutFunc)
            getCoupon({}).then(res => {
              this.canGetCoupon = false
            })
            wx.showToast({
              title: '优惠券领取成功',
              duration: 3000
            })
          }
        }
doubleClick(e){
	//e.timeStamp:当前点击时的毫秒数;
	// this.touchStartTime: 储存上一次点击时的毫秒数,默认0
        if (e.timeStamp - this.touchStartTime  < 300){
            双击,进入
        }

        this.touchStartTime = e.timeStamp;
        单击
    }
/*
        if ((e.timeStamp - this.touchStartTime) < 100) {
          getCoupon({}).then(res => {
            this.canGetCoupon = false
          })
          wx.showToast({
            title: '领取成功',
            icon: 'none',
            duration: 3000
          })
        }
        this.touchStartTime = e.timeStamp
        */
  // 触摸开始时间
  touchStartTime: 0,
  // 触摸结束时间
  touchEndTime: 0,  
  // 最后一次单击事件点击发生时间
  lastTapTime: 0, 
  // 单击事件点击后要触发的函数
  lastTapTimeoutFunc: null, 
  /// 双击
  doubleTap: function(e) {
    var that = this
    // 控制点击事件在350ms内触发,加这层判断是为了防止长按时会触发点击事件
    if (that.touchEndTime - that.touchStartTime < 350) {
      // 当前点击的时间
      var currentTime = e.timeStamp
      var lastTapTime = that.lastTapTime
      // 更新最后一次点击时间
      that.lastTapTime = currentTime
 
      // 如果两次点击时间在300毫秒内,则认为是双击事件
      if (currentTime - lastTapTime < 300) {
        console.log("double tap")
        // 成功触发双击事件时,取消单击事件的执行
        clearTimeout(that.lastTapTimeoutFunc);
        wx.showModal({
          title: '提示',
          content: '双击事件被触发',
          showCancel: false
        })
      }
    }
  },

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

控制台,全局作用域,全局变量和全局函数,事件处理机制以及事件环机制,怎么使用node.js框架中提供的调试工具。


请点赞!因为你的鼓励是我写作的最大动力!

官方微信公众号

吹逼交流群:711613774

吹逼交流群

posted @ 2019-05-29 02:09  达达前端  阅读(289)  评论(0编辑  收藏  举报