1.为什么使用node.js

大部分情况下,我们写的js代码都是直接运行在浏览器中,由浏览器进行执行与渲染。但是随着前端工程化的发展,我们写的js代码越来越复杂,所以对我们的代码进行预处理已成为了必要的工序,而node.js则提供了这样一个平台。

2.node.js是什么

Node.js是一个基于 Chrome V8 引擎的JavaScript运行环境(runtime),Node不是一门语言,而是让js运行在后端的运行时,并且不包括javascript全集,因为在服务端中不包含DOM和BOM。Node也提供了一些新的模块例如http,fs模块等。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

3.node.js运行机制

众所周知,js是单线程语言,但浏览器实现了资源加载,http请求等费时操作的多线程操作,node.js的主线程依旧是单线程的,所有同步任务都在主线程上执行,形成一个执行栈,主线程之外,还存在一个任务队列=》只要异步任务有了运行结果,就在任务队列之中放置一个事件=》一旦执行栈中的所有同步任务执行完毕,系统就会读取任务队列,将队列中的事件放到执行栈中依次执行=》主线程从任务队列中读取事件,这个过程是循环不断的。

4.node.js的使用

#####1.查看当前的 Node 版本:

$ node -v v10.5.0

2.运行js文件:

打开终端环境,windows : cmd , mac : Terminal,使用cd 命令到要执行的js文件目录,执行node XXX.js,我们现在在demo文件夹里新建一个1.js文件,在1.js文件中写入console.log('运行js文件'),让我们打开终端环境来执行一下

➜ cd demo ➜ demo node 1.js 运行js文件

3.模块引入(模块引入是同步的)
(1)核心模块

nodeJS核心模块有:

  • fs 文件系统
  • global 全局变量
  • net 网络
  • util 实用工具
  • path 路径处理等

引入方式例如:

>let fs = require('fs');
复制代码
(2)第三方模块

Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理,通过 NPM 命令来下载第三方的模块(包)。 完全符合 CommonJs 规范的包目录一般包含如下这些文件。

  • package.json :包描述文件。
  • bin :用于存放可执行二进制文件的目录。
  • lib :用于存放 JavaScript 代码的目录。
  • doc :用于存放文档的目录。

例如: 打开终端 执行

npm i vue –save

安装完毕后在文件中引入

引入方式和核心模块引入一样

(3)自定义模块

如果要引入自定义的模块,虽然可能在当前目录下,但是也需要注意路径,因为如果不加路径标识的话,很难分辨出来是引用的系统模块还是引用的当前目录里的模块,如下面这种,是分不清的:

let http = require('http'); let test = require('test.js');

——正确的写法是如下:

let test = require('./test.js');

5.nodeJS怎么调试

1.命令行调试

node inspect test.js

2.浏览器调试(不推荐 )

3.编辑器调试

下载Visual Studio Code,安装Code Runner插件,用编辑器打开你所需运行的文件,然后点击右键,选择Run Code即可

这一章我们对nodejs有个基础的认识以及为什么前端也需要掌握它,接下来我们开始愉快(折磨)的学习之旅吧!

转载于:https://juejin.im/post/5b4d9ce36fb9a04fce5227d0

第一章:前端视角——js运行环境之node.js基础入门相关推荐

  1. java数据存在ie中_[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js

    [Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js 0 2015-11-30 20:00:06 IE下默认会开启缓存策略,不管是页面还是通过ajax请求的数据都会议一个url,u ...

  2. Node.js知识梳理之Node.js安装

    Node.js官网:nodejs.org/en/ 用户进入官网,会自动推荐适合于开发者电脑的Node.js版本,官网提示我下载适用于windows(x64)的版本.官网有两个版本LTS(长期稳定)版和 ...

  3. Node JS环境设置– Node.js安装

    In my previous post, we have discussed about "Introduction to Node JS Platform". Now we ha ...

  4. node.js学习总结:node.js的内置模块,模块化,npm与包 express,前后端身份认证 JWT认证机制

    node.js学习总结 什么是node.js node.js的内置模块 fs系统模块 path路径模块 http模块 模块化 npm与包 express express路由 express+mysql ...

  5. 【前端】第一章 前端三要素、前后端分离的演变史

    第一章 前端三要素.前后端分离的演变史 文章目录 第一章 前端三要素.前后端分离的演变史 一.前端三要素 结构层(HTML) 表现层(CSS) 行为层(JavaScript) 二.前后端分离的演变史 ...

  6. 【JAVA SE】第一章 Java语言概述、环境变量和HelloWorld

    第一章 Java语言概述.环境变量和HelloWorld 文章目录 第一章 Java语言概述.环境变量和HelloWorld 一.Java语言概述 1.Java简介 2.Java发展历史 3.Java ...

  7. 第一章 前端开发——HTML5/CSS3

    第一章 前端开发学习--HTML5/CSS3 一.初识HTML 二.HTML5/CSS3基础 三.页面组件 四.页面布局 五.CSS3新增功能 一.初识HTML 什么是HTML(what): HTML ...

  8. Java极速入门系列:第一章Java概述、Java环境、IDEA开发工具

    Java极速入门-第一章Java概述.Java环境.IDEA开发工具 一.什么是Java 1.好的编程语言的特性 2.Java的特点 3.Java的运行机制 4.Java的三大体系 5.Java环境 ...

  9. Spark大数据技术与应用 第一章Spark简介与运行原理

    Spark大数据技术与应用 第一章Spark简介与运行原理 1.Spark是2009年由马泰·扎哈里亚在美国加州大学伯克利分校的AMPLab实验室开发的子项目,经过开源后捐赠给Aspache软件基金会 ...

最新文章

  1. 将一维数组的值逆序输出
  2. php 如何发送json数据格式,Php如何使用curl发送json格式数据实例
  3. 自加计数器c语言程序,计数器 加1 C语言 程序.doc
  4. C语言外部函数与内部函数
  5. 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing
  6. scanner一次输入多行_记一次项目复盘,技术盘点(易忽略的细节)
  7. inter Course Certificate
  8. 第十七期:记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当
  9. 做数学与拼乐高的若干相似之处
  10. LDAP命令介绍---ldappasswordmodify口令修改操作
  11. Hibernate中Criteria的完整用法
  12. base64是啥原理
  13. javascript 计算后 无聊的小数点处理
  14. 程序状态字寄存器PSW
  15. 小麦颗粒数目matlab,求关于matlab中rice.png图像中的米粒数目的算法
  16. 2021前端智能化发展现状与未来展望
  17. 人工智能 之 定义与发展
  18. JN项目-app首页订票功能实现
  19. 网站密码明文传输解决方案js+java
  20. windows获取文件列表及文件夹结构

热门文章

  1. lvs主从服务器转发风暴(广播风暴、大流量)
  2. Spring自定义注解简单使用四步走
  3. [改善Java代码]构造函数尽量简化
  4. IoC组件Unity再续~根据类型字符串动态生产对象
  5. 图片压缩工具optipng/jpegoptim安装
  6. 10个 DIV+CSS 需要注意的问题
  7. Eclipse配置工程自动执行ant实现热部署
  8. 不服来战!PHP 是世界上最好的语言!
  9. php恶意代码,php快速查找数据库中恶意代码的方法,快速查找恶意代码_PHP教程...
  10. Jar包部署-修改插件版本