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. System Center VMM请注意不同语言版本的差异

    在私有云的项目中,经常需要判断System Center一些组件的连接是否OK. 我这里有开发,和测试两个环境,开发是英文版的System Center VMM,测试用的是中文版的System Cen ...

  2. 7/25 CSU-ACM2018暑假集训比赛1

    题目链接 [A - Tricky Sum ] In this problem you are to calculate the sum of all integers from 1 to n, but ...

  3. DP重开

    颓了差不多一周后,决定重开DP 这一周,怎么说,学了学trie树,学了学二叉堆,又学了学树状数组,差不多就这样,然后和cdc一番交流后发现,学这么多有用吗?noip的范围不就是提高篇向外扩展一下,现在 ...

  4. XSS && CRLF && property&attribute

    XSS cross-site scripting 跨站点脚本,为了避免与css冲突,命名为XSS.它是将恶意代码作为一个网页内容,这些恶意代码会注入到用户的浏览器中并执行,从而使用户受到攻击,常见的有 ...

  5. 【哈希表】CODEVS1230 元素查找

    #include<cstdio> #include<vector> using namespace std; typedef vector<int>::iterat ...

  6. pandas操作,感觉不错,复制过来的

    整理pandas操作 本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html 导入数据: pd.read_csv(filenam ...

  7. int和Integer,String和String(包装类)

    1.int和Integer的值如果是一样的,则是在内存中开辟相同的内存空间 2.但是String和String(包装类)是不一样的 代码演示: int a=1; Integer b = new Int ...

  8. 关于MYsql 多字段排序

    SELECT switch_data.* , lan_data.ename FROM switch_data , lan_data WHERE switch_data.address = '佳合丽景' ...

  9. delphi中使用mediaplayer控件播放音乐

    新建一个名字为media的文件夹,把要播放的音乐文件放在这个文件夹里. ExtractFilePath是用来获得产生的可执行程式所在的路径,因为我们把要播放的音乐文件放在了可执行程式的那个根目录下. ...

  10. 从配置websocket理解nginx

    原文地址:http://www.niu12.com/article/2 今天由于写了一个简单的基于h5 websoceket的聊天室,再本地都是好好了.     但是上到服务器后就发现无法行的通, 查 ...