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. Python 读写 Excel(转)

    Python 读写 Excel 基本上, 这个网页已经说明一切了: http://pypi.python.org/pypi/xlrd 等有时间再把这个页面写漂亮,现在先记一些代码. 读Excel 先建 ...

  2. (11)python 模块和包

    一.导入模块和包 模块相当于一个.py文件,包相当于带有个__init__.py一个文件夹,既可按模块导入也可按包导入. 1.导入模块或包 import 包名或模块名 (as 别名),包名或模块名 ( ...

  3. ZCMU Problem G: 素数对(数论,素数筛法)

    #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #inc ...

  4. (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)

    layout: post title: (寒假开黑gym)2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017) au ...

  5. zoj2318

    zoj2318 题意 一个平面上给出很多圆,其中一个圆为现在自己的位置,问这个圆能不能冲出其它圆的包围(不能与其它圆相交). 分析 将所有圆心平移,使得自己的圆圆心处于原点,将所有圆半径增加自己圆的半 ...

  6. 揭秘响应式web设计

     0.引言 响应式web设计的作用主要使网页能在不同小大的显示窗口下依然优雅.当前的显示窗口有pc,ipad,iphone以及一些其他的设备.不同的显示窗口的分辨率各不相同,如何在不同的分辨率的情况下 ...

  7. py thon 多线程(转一篇好文章)

    http://www.cnblogs.com/fnng/p/3670789.html

  8. 【kmp算法】hdu4763 Theme Section

    kmp中next数组的含义是:next[i]表示对于s[0]~s[i-1]这个前缀而言,最大相等的前后缀的长度是多少.规定next[0]=-1. 迭代for(int i=next[i];i!=-1;i ...

  9. 【枚举】bzoj1643 [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪

    显然<=n的平方数只有sqrt(n)个,三重循环枚举三块草坪,再减一下验证最后一块是不是平方数.O(n*sqrt(n)). #include<cstdio> #include< ...

  10. 【点分治】bzoj2152 聪聪可可

    模板题. #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> ...