• 今天读一读七天学会NodeJS


    七天学会NODEJS

    NodeJS基础

    小结

    本章介绍了有关NodeJS的基本概念和使用方法,总结起来有以下知识点:

    • NodeJS是一个JS脚本解析器,任何操作系统下安装NodeJS本质上做的事情都是把NodeJS执行程序复制到一个目录,然后保证这个目录在系统PATH环境变量下,以便终端下可以使用node命令。

    • 终端下直接输入node命令可进入命令交互模式,很适合用来测试一些JS代码片段,比如正则表达式。

    • NodeJS使用CMD模块系统,主模块作为程序入口点,所有模块在执行过程中只初始化一次。

    • 除非JS模块不能满足需求,否则不要轻易使用二进制模块,否则你的用户会叫苦连天。 


     

    代码的组织和部署

    小结

    本章介绍了使用NodeJS编写代码前需要做的准备工作,总结起来有以下几点:

    • 编写代码前先规划好目录结构,才能做到有条不紊。

    • 稍大些的程序可以将代码拆分为多个模块管理,更大些的程序可以使用包来组织模块。

    • 合理使用node_modulesNODE_PATH来解耦包的使用方式和物理路径。

    • 使用NPM加入NodeJS生态圈互通有无。

    • 想到了心仪的包名时请提前在NPM上抢注。


     

    文件操作

    小结

    本章介绍了使用NodeJS操作文件时需要的API以及一些技巧,总结起来有以下几点:

    • 学好文件操作,编写各种程序都不怕。

    • 如果不是很在意性能,fs模块的同步API能让生活更加美好。

    • 需要对文件读写做到字节级别的精细控制时,请使用fs模块的文件底层操作API。

    • 不要使用拼接字符串的方式来处理路径,使用path模块。

    • 掌握好目录遍历和文件编码处理技巧,很实用。


     

    网络操作

    小结

    本章介绍了使用NodeJS操作网络时需要的API以及一些坑回避技巧,总结起来有以下几点:

    • httphttps模块支持服务端模式和客户端模式两种使用方式。

    • requestresponse对象除了用于读写头数据外,都可以当作数据流来操作。

    • url.parse方法加上request.url属性是处理HTTP请求时的固定搭配。

    • 使用zlib模块可以减少使用HTTP协议时的数据传输量。

    • 通过net模块的Socket服务器与客户端可对HTTP协议做底层操作。

    • 小心踩坑。


     

    进程管理

    小结

    本章介绍了使用NodeJS管理进程时需要的API以及主要的应用场景,总结起来有以下几点:

    • 使用process对象管理自身。

    • 使用child_process模块创建和管理子进程。


     

    异步编程

    小结

    本章介绍了JS异步编程相关的知识,总结起来有以下几点:

    • 不掌握异步编程就不算学会NodeJS。

    • 异步编程依托于回调来实现,而使用回调不一定就是异步编程。

    • 异步编程下的函数间数据传递、数组遍历和异常处理与同步编程有很大差别。

    • 使用domain模块简化异步代码的异常处理,并小心陷阱。


     

    大示例

    小结

    本章将之前零散介绍的知识点串了起来,完整地演示了一个使用NodeJS开发程序的例子,至此我们的课程就全部结束了。以下是对新诞生的NodeJSer的一些建议。

    • 要熟悉官方API文档。并不是说要熟悉到能记住每个API的名称和用法,而是要熟悉NodeJS提供了哪些功能,一旦需要时知道查询API文档的哪块地方。

    • 要先设计再实现。在开发一个程序前首先要有一个全局的设计,不一定要很周全,但要足够能写出一些代码。

    • 要实现后再设计。在写了一些代码,有了一些具体的东西后,一定会发现一些之前忽略掉的细节。这时再反过来改进之前的设计,为第二轮迭代做准备。

    • 要充分利用三方包。NodeJS有一个庞大的生态圈,在写代码之前先看看有没有现成的三方包能节省不少时间。

    • 不要迷信三方包。任何事情做过头了就不好了,三方包也是一样。三方包是一个黑盒,每多使用一个三方包,就为程序增加了一份潜在风险。并且三方包很难恰好只提供程序需要的功能,每多使用一个三方包,就让程序更加臃肿一些。因此在决定使用某个三方包之前,最好三思而后行。

  • 相关阅读:
    全新通用编程语言 Def 招募核心贡献者、文档作者、布道师 deflang.org
    全球最快的JS模板引擎:tppl
    4行代码实现js模板引擎
    [Node.js框架] 为什么要开发 Codekart 框架
    Android用BusyBox替换系统toolbox
    纪念一下,昨天换手机了
    在Android上使用gcc编译C/C++源程序
    关于BAPI_ACC_DOCUMENT_POST解读
    关于ABAP和JSON互相转换
    关于客户和供应商预制凭证添加WBS字段
  • 原文地址:https://www.cnblogs.com/cndotabestdota/p/5759688.html
Copyright © 2020-2023  润新知