PHP开发技术栈(LAMP) Linux  Apache  MySql  PHP
node.js 全栈开发技术栈(MEAN): MongoDB  Express  Angular  Node.js


现阶段学习的目标:

  • 了解服务器开发过程
  • 会使用node.js 开发基本的 http 服务程序(web应用程序)

node.js

特点:
1. 事件驱动(当事件被触发时,执行传递过去的回调函数)
2. 非阻塞I/O模型(当执行I/O操作时,不会阻塞线程)
3. 单线程


一个新 get 的概念:(你啥也没看见⁄ (⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ )

  配置环境变量的意义:当在控制台输入命令时,如果输入的不在当前目录下,这时候如果设置了环境变量,那么系统就会在环境变量中
挨个寻找输入的命令所在的文件夹,直到找到相应的路径。


使用node.js开发网站与传统开发网站的区别:

传统网站:需要web容器

node.js 进行开发:不需要web容器,因为node.js本身就是一个web服务器


node 的版本管理器 nvm

下载nvm的地址:https://github.com/coreybutler/nvm-windows/releases

nvm 用来管理一台计算机上的多个node版本

  • nvm list 打星号表示当前正在使用的
  • nvm using node v8.4.0
  • nvm install latest
  • nvm install 版本号
  • nvm uninstall 版本号

退出node环境
1. .exit
2. 按住Ctrl键,按两下C键


一段js代码,写入文件操作

//写入文件操作
let fs = require('fs');
let msg = 'Hello World!';
console.log('000')
fs.writeFile('./hello.txt',msg,'utf8',function(err){
   console.log('111')
// 如果err===null 表示写入成功
if(err){
console.log('写入文件失败');
}else{
console.log('写入文件成功!');
}
});
console.log('222')

可以注意到上面使用到了require( )函数,require( )函数的作用就是加载 fs 模块

而另一个process模块(举个栗子)使用时无需通过require() 函数来加载

原因:process模块是全局的模块,fs不是全局模块,全局模块可以直接使用
非全局模块需要require( )函数加载

判断需不需要require( )函数加载
1.直接打开node文档查看相应的函数
2. 文档左边栏有Globals 模块,可以直接查看

  另外,在上面的代码中,有几个输出数字的console.log(),那么输出的顺序是什么呢?

  答案是 000  222  111

  这样输出的原因就是上面的  writeFile( ) 函数是异步执行的,不会等写入完毕就运行了后面代码

 

node.js 学习01的更多相关文章

  1. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  2. Node.JS学习——学习笔记

    Node.JS--学习笔记 2020年02月23日11:52:01 我打算自学NodeJS-通过阅读NodeJS官网来完成. https://nodejs.org/dist/latest-v13.x/ ...

  3. NODE.JS学习的常见误区及四大名著

    NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...

  4. Node.js学习系列总索引

    Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...

  5. 【入门必备】最佳的 Node.js 学习教程和资料书籍

    Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...

  6. node.js学习(1)

    新建便笺 3 node.js学习(1) 1)安装 http://nodejs.org/download/下载. 2)编写一个案例 var http=require("http"); ...

  7. 我的Node.js学习历程

    学习一门技术,每个人都有每个人的方法.我的方法很简单,做项目. 基本概念 在搭建一个node网站之前,还是要掌握一些基本的概念的,这里列举一下,具体的内容大家自己到网上去查: npm bower ex ...

  8. Node.js学习之TCP/IP数据通讯

    Node.js学习之TCP/IP数据通讯 1.使用net模块实现基于TCP的数据通讯 提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信 1.1创建TCP服务器 在Node.js利用 ...

  9. Node.js学习起步

    Node.js学习: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱 ...

随机推荐

  1. hdu6166

    hdu6166 题意 给出一个有向图,选择 \(k\) 个点,问这 \(k\) 个点任意两点距离的最小值. 分析 按结点编号的二进制位,每次可以把所有点分到两个集合,那么求两个集合的点间的最短路即可( ...

  2. 洛谷——P1722 矩阵 II

    P1722 矩阵 II 题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负…… 给定一个1*(2n)的矩阵(us ...

  3. [Contest20180328]coin

    转化一下,相当于从$0$跳到$M$,每一步跳跃距离为$v_i$中的某个,每次跳跃距离不大于上一次,统计方案数 用$f_{i,j,k}$表示跳到$i$,第一步跳$v_j$,最后一步跳$\geq v_k$ ...

  4. 【线段树】bzoj3747 [POI2015]Kinoman

    题解:http://www.cnblogs.com/zyfzyf/p/4105184.html 一.下传标记写法 #include<cstdio> #include<algorith ...

  5. 打印不同的数 Exercise07_05

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:打印不同的数 * */ public class Exercise07_0 ...

  6. FrameLayout 布局

    (一) 1.效果图:颜色一直在改变,实现霓虹灯的效果 2.activity_main.xml <?xml version="1.0" encoding="utf-8 ...

  7. scrapy初探

    一  创建scrapy项目 运行命令: scrapy startproject 项目名称 目录结构 二  定义Item容器 Item是保存爬取到数据的容器,其使用方法和python字典类似,并且提供了 ...

  8. iOS开发——MJExtension复杂数组用法

    最近在看MJExtension的Demo,发现了一个plist文件直接转数组模型的方法.以前研究过但是浅尝辄止没有解决,这几天有时间,好好看了看,找到了解决办法,与大家分享. 如果大家的项目中有这种嵌 ...

  9. cookie的secure、httponly属性设置

    cookie的secure.httponly属性设置 转载自:http://www.cnblogs.com/alanzyy/archive/2011/10/14/2212484.html 一.属性说明 ...

  10. 【JSP EL】el表达式判断是否为null

    后台程序放入Model中,从前台el表达式取出来非常方便,但是如果需要处理 当数据为null的时候,怎么办,不为null的时候,怎么办:这个怎么处理呢? <span class="us ...