资讯专栏INFORMATION COLUMN

ES6常用语法到Node浅谈

weizx / 2486人阅读

摘要:是解释性语言因服务端的应用,而贯通了前后台。关于和声明的变量和声明的变量整体,会被提升到当前作用域的顶部。做后台服务端,处理请求的代码,得自己实现了。为提高下载速度,可通过来切换镜像源。

JS是解释性语言,因node服务端的应用,而贯通了前后台。

【ES6】

关于var和let

var:

  1.var声明的变量和function声明的变量整体,会被提升到当前作用域的顶部。
  2.无块级作用域 
  3.var声明的变量可重复赋值,即
  var name = "lin"
  var name = "li"
  变量提升后
  var name
  name = "lin"
  name = "li"
  结果是
  name = "li"

let(更严谨):

  1.无变量提升
  2.有块级作用域
  3.let声明的变量不可重复赋值,即
  let name = "lin"
  let name = "li"
  报错:
  Uncaught SyntaxError: Identifier "name" has already been declared

箭头函数
示例:函数去重
let arr = [1,2,2,3,4]

原始写法:

arr.filter(function(value, index, arr){
     return arr.indexOf(value) == index;
});

ES6写法:

arr.filter((v, i, a)=>{
     return a.indexOf(v) == i;
});

ES6更简写法:

arr.filter((v, i, a)=> a.indexOf(v) == i); //只有单条返回语句时,return可省

解构赋值

Promise(解决嵌套太深问题)

模板字符串

 var obj = {name:"Lin"}
 console.log(`my name is ${obj.name}`)   //my name is Lin

【canvas】
   //绘制流程:(联系到实际,就是作画的全过程,这是本质)
   //1.画板
   let cs = document.querySelector("canvas")
   //2.画笔(使用2d画笔)
   let pen = cs.getContext("2d")
   //3.调色
   pen.strokeStyle = "blue"
   //4.开始
   pen.beginPath()
   //5.绘制(moveTo,lineTo,strokeRect,arc)
   pen.moveTo(10,10)
   pen.lineTo(10,10)
   //6.结束
   pen.stroke()

给canvas背景色,即看到效果

【common.js】

http://javascript.ruanyifeng....

Node 应用由模块组成,采用 CommonJS 模块规范。
【node】

node做后台服务端,处理http请求的代码,得自己实现了。

 实现:
   1.由http模块,生成server来监听指定端口
   2.端口连接时,触发回调,比对请求地址后,由fs模块读写文件
   3.处理结果响应给前端

示例:

   http.createServer((req,res)=>{
        let pathname = url.parse(req.url).pathname;
        fs.readFile(path.join(process.cwd(),pathname),(err,data)=>{
            res.writeHead(200);
            res.end(data);
        });
   })
【express】
  express对http模块高度封装
  使后台得以use中间件方式,区分路由,从而脱离出MVC式的项目结构目录
  解释下这里提及的mvc:
  m model         存放mongoose.model()生成的model
  v view          指定可静态访问的目录
  c controller    存放express.Router()方式处理的中间件,这儿放的是业务逻辑
  路由会多带带提取到一个文件中 

示例:

const express = require("express")
const app = express() 

app.use(express.static("./public"))           

app.listen(3000,err =>{
    if(err){
        return console.log("3000端口失败")
    }
    console.log("3000端口监听成功")
})
【补充】

1.关于下载
npm会随着node而安装,但默认下载地址在国外。为提高下载速度,可通过nrm来切换镜像源。

npm i nrm -g
nrm ls
nrm use taobao

2.关于运行

   node index.js           //每次修改代码,都得手动重启服务端=>心累
   yarn add nodemon -S     //代码修改与服务器同步了 ps: yarn的并行下载速度更快

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89160.html

相关文章

  • 2018 浅谈前端面试那些事

    摘要:声明的变量不得改变值,这意味着,一旦声明变量,就必须立即初始化,不能留到以后赋值。 虽然今年没有换工作的打算 但为了跟上时代的脚步 还是忍不住整理了一份最新前端知识点 知识点汇总 1.HTML HTML5新特性,语义化浏览器的标准模式和怪异模式xhtml和html的区别使用data-的好处meta标签canvasHTML废弃的标签IE6 bug,和一些定位写法css js放置位置和原因...

    LiuRhoRamen 评论0 收藏0
  • 2018 浅谈前端面试那些事

    摘要:声明的变量不得改变值,这意味着,一旦声明变量,就必须立即初始化,不能留到以后赋值。 虽然今年没有换工作的打算 但为了跟上时代的脚步 还是忍不住整理了一份最新前端知识点 知识点汇总 1.HTML HTML5新特性,语义化浏览器的标准模式和怪异模式xhtml和html的区别使用data-的好处meta标签canvasHTML废弃的标签IE6 bug,和一些定位写法css js放置位置和原因...

    stormgens 评论0 收藏0
  • 2018 浅谈前端面试那些事

    摘要:声明的变量不得改变值,这意味着,一旦声明变量,就必须立即初始化,不能留到以后赋值。 虽然今年没有换工作的打算 但为了跟上时代的脚步 还是忍不住整理了一份最新前端知识点 知识点汇总 1.HTML HTML5新特性,语义化浏览器的标准模式和怪异模式xhtml和html的区别使用data-的好处meta标签canvasHTML废弃的标签IE6 bug,和一些定位写法css js放置位置和原因...

    Hujiawei 评论0 收藏0
  • 前端文档收集

    摘要:系列种优化页面加载速度的方法随笔分类中个最重要的技术点常用整理网页性能管理详解离线缓存简介系列编写高性能有趣的原生数组函数数据访问性能优化方案实现的大排序算法一怪对象常用方法函数收集数组的操作面向对象和原型继承中关键词的优雅解释浅谈系列 H5系列 10种优化页面加载速度的方法 随笔分类 - HTML5 HTML5中40个最重要的技术点 常用meta整理 网页性能管理详解 HTML5 ...

    jsbintask 评论0 收藏0

发表评论

0条评论

weizx

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<