node.js 学习01
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的更多相关文章
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- Node.JS学习——学习笔记
Node.JS--学习笔记 2020年02月23日11:52:01 我打算自学NodeJS-通过阅读NodeJS官网来完成. https://nodejs.org/dist/latest-v13.x/ ...
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
- node.js学习(1)
新建便笺 3 node.js学习(1) 1)安装 http://nodejs.org/download/下载. 2)编写一个案例 var http=require("http"); ...
- 我的Node.js学习历程
学习一门技术,每个人都有每个人的方法.我的方法很简单,做项目. 基本概念 在搭建一个node网站之前,还是要掌握一些基本的概念的,这里列举一下,具体的内容大家自己到网上去查: npm bower ex ...
- Node.js学习之TCP/IP数据通讯
Node.js学习之TCP/IP数据通讯 1.使用net模块实现基于TCP的数据通讯 提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信 1.1创建TCP服务器 在Node.js利用 ...
- Node.js学习起步
Node.js学习: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱 ...
随机推荐
- hdu6166
hdu6166 题意 给出一个有向图,选择 \(k\) 个点,问这 \(k\) 个点任意两点距离的最小值. 分析 按结点编号的二进制位,每次可以把所有点分到两个集合,那么求两个集合的点间的最短路即可( ...
- 洛谷——P1722 矩阵 II
P1722 矩阵 II 题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负…… 给定一个1*(2n)的矩阵(us ...
- [Contest20180328]coin
转化一下,相当于从$0$跳到$M$,每一步跳跃距离为$v_i$中的某个,每次跳跃距离不大于上一次,统计方案数 用$f_{i,j,k}$表示跳到$i$,第一步跳$v_j$,最后一步跳$\geq v_k$ ...
- 【线段树】bzoj3747 [POI2015]Kinoman
题解:http://www.cnblogs.com/zyfzyf/p/4105184.html 一.下传标记写法 #include<cstdio> #include<algorith ...
- 打印不同的数 Exercise07_05
import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:打印不同的数 * */ public class Exercise07_0 ...
- FrameLayout 布局
(一) 1.效果图:颜色一直在改变,实现霓虹灯的效果 2.activity_main.xml <?xml version="1.0" encoding="utf-8 ...
- scrapy初探
一 创建scrapy项目 运行命令: scrapy startproject 项目名称 目录结构 二 定义Item容器 Item是保存爬取到数据的容器,其使用方法和python字典类似,并且提供了 ...
- iOS开发——MJExtension复杂数组用法
最近在看MJExtension的Demo,发现了一个plist文件直接转数组模型的方法.以前研究过但是浅尝辄止没有解决,这几天有时间,好好看了看,找到了解决办法,与大家分享. 如果大家的项目中有这种嵌 ...
- cookie的secure、httponly属性设置
cookie的secure.httponly属性设置 转载自:http://www.cnblogs.com/alanzyy/archive/2011/10/14/2212484.html 一.属性说明 ...
- 【JSP EL】el表达式判断是否为null
后台程序放入Model中,从前台el表达式取出来非常方便,但是如果需要处理 当数据为null的时候,怎么办,不为null的时候,怎么办:这个怎么处理呢? <span class="us ...