第一章:前端视角——js运行环境之node.js基础入门
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基础入门相关推荐
- java数据存在ie中_[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js
[Java教程]解决在IE中获取数据的缓存问题,运行环境为node.js 0 2015-11-30 20:00:06 IE下默认会开启缓存策略,不管是页面还是通过ajax请求的数据都会议一个url,u ...
- Node.js知识梳理之Node.js安装
Node.js官网:nodejs.org/en/ 用户进入官网,会自动推荐适合于开发者电脑的Node.js版本,官网提示我下载适用于windows(x64)的版本.官网有两个版本LTS(长期稳定)版和 ...
- Node JS环境设置– Node.js安装
In my previous post, we have discussed about "Introduction to Node JS Platform". Now we ha ...
- node.js学习总结:node.js的内置模块,模块化,npm与包 express,前后端身份认证 JWT认证机制
node.js学习总结 什么是node.js node.js的内置模块 fs系统模块 path路径模块 http模块 模块化 npm与包 express express路由 express+mysql ...
- 【前端】第一章 前端三要素、前后端分离的演变史
第一章 前端三要素.前后端分离的演变史 文章目录 第一章 前端三要素.前后端分离的演变史 一.前端三要素 结构层(HTML) 表现层(CSS) 行为层(JavaScript) 二.前后端分离的演变史 ...
- 【JAVA SE】第一章 Java语言概述、环境变量和HelloWorld
第一章 Java语言概述.环境变量和HelloWorld 文章目录 第一章 Java语言概述.环境变量和HelloWorld 一.Java语言概述 1.Java简介 2.Java发展历史 3.Java ...
- 第一章 前端开发——HTML5/CSS3
第一章 前端开发学习--HTML5/CSS3 一.初识HTML 二.HTML5/CSS3基础 三.页面组件 四.页面布局 五.CSS3新增功能 一.初识HTML 什么是HTML(what): HTML ...
- Java极速入门系列:第一章Java概述、Java环境、IDEA开发工具
Java极速入门-第一章Java概述.Java环境.IDEA开发工具 一.什么是Java 1.好的编程语言的特性 2.Java的特点 3.Java的运行机制 4.Java的三大体系 5.Java环境 ...
- Spark大数据技术与应用 第一章Spark简介与运行原理
Spark大数据技术与应用 第一章Spark简介与运行原理 1.Spark是2009年由马泰·扎哈里亚在美国加州大学伯克利分校的AMPLab实验室开发的子项目,经过开源后捐赠给Aspache软件基金会 ...
最新文章
- 将一维数组的值逆序输出
- php 如何发送json数据格式,Php如何使用curl发送json格式数据实例
- 自加计数器c语言程序,计数器 加1 C语言 程序.doc
- C语言外部函数与内部函数
- 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing
- scanner一次输入多行_记一次项目复盘,技术盘点(易忽略的细节)
- inter Course Certificate
- 第十七期:记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当
- 做数学与拼乐高的若干相似之处
- LDAP命令介绍---ldappasswordmodify口令修改操作
- Hibernate中Criteria的完整用法
- base64是啥原理
- javascript 计算后 无聊的小数点处理
- 程序状态字寄存器PSW
- 小麦颗粒数目matlab,求关于matlab中rice.png图像中的米粒数目的算法
- 2021前端智能化发展现状与未来展望
- 人工智能 之 定义与发展
- JN项目-app首页订票功能实现
- 网站密码明文传输解决方案js+java
- windows获取文件列表及文件夹结构