因为网上关于这种介绍性质的文章太多了,在此推荐几篇相关的介绍,以及提取一些关键字,你们简单了解一些便可,如想继续深刻的同窗,能够自行在网上搜索相关资源html
:thumbsup:相关文章推荐node
:point_down:浅谈我的理解正则表达式
首先咱们来看一下Nodejs官网的描述npm
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境json
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效缓存
提取关键字模块化
nodejs的安装相对比较简单,这里推荐以下安装教程,对着该教程一步步操做下去便可成功安装nodejs函数
安装完成以后,在命令行输入 node -v
便可查看当前nodejs版本,因为我本地安装的nodejs版本是 V8.11.3,因此建议跟着个人笔记学习的小伙伴安装一样的nodejs版本,避免后续出现一些不可预见的小问题学习
nodejs安装完成以后,会附带的帮咱们安装另外一个工具,npm(node package manager)
npm是什么:经过npm的全称咱们能够得知,npm是一个nodejs的包管理工具,咱们可使用npm工具便捷的管理咱们须要使用到的nodejs模块包
这里一样建议,刚接触的同窗不用纠结npm这个东西,跟着笔记一步一步的去使用,就能明白npm是什么,给咱们的开发带来了哪些便捷,想深刻了解的小伙伴,这里推荐两个连接
如下是npm常见命令,能够先混个眼熟,后续须要使用再来查看
前5个我用黑体标粗的是平时咱们开发过程当中使用得最多的几个命令
npm -v
:**查看npm版本。npm init
:**初始化后会出现一个package.json
配置文件。能够在后面加上-y
,快速跳过问答式界面。npm install
:**会根据项目中的package.json
文件自动下载项目所需的所有依赖。npm install 包名 --save-dev
(npm install 包名 -D
):**安装的包只用于开发环境,不用于生产环境,会出如今package.json
文件中的devDependencies
属性中。npm install 包名 --save
(npm install 包名 -S
):**安装的包须要发布到生产环境的,会出如今package.json文件中的dependencies
属性中。npm list
:查看当前目录下已安装的node包。npm list -g
:查看全局已经安装过的node包。npm --help
:查看npm帮助命令。npm update 包名
:更新指定包。npm uninstall 包名
:卸载指定包。npm config list
:查看配置信息。npm 指定命令 --help
:查看指定命令的帮助。npm info 指定包名
:查看远程npm上指定包的全部版本信息。npm config set registry https://registry.npm.taobao.org
: 修改包下载源,此例修改成了淘宝镜像。npm root
:查看当前包的安装路径。npm root -g
:查看全局的包的安装路径。npm ls 包名
:查看本地安装的指定包及版本信息,没有显示empty。npm ls 包名 -g
:查看全局安装的指定包及版本信息,没有显示empty。Node.js采用的是CommonJs规范,在NodeJS中,通常将代码合理拆分到不一样的JS文件中,每个文件就是一个模块,而文件路径就是模块名。
在编写每一个模块时,都有
require
、exports
、module
三个预先定义好的变量可供使用。
**require:**用于在当前模块中加载和使用其余模块,传入一个模块名,返回一个模块导出对象。模块名可以使用相对路径(以./
开头),或者是绝对路径(以/
或C:
之类的盘符开头)。另外,模块名中的.js
扩展名能够省略。如下是一个例子。
var person1 = require("./person");
var person2 = require("./person.js");
复制代码
exports:exports
对象是当前模块的导出对象,用于导出模块公有方法和属性。别的模块经过require
函数使用当前模块时获得的就是当前模块的exports
对象。如下例子中导出了一个公有方法。
exports.hello = function(){
console.log("hello world!");
}
复制代码
module:经过module
对象能够访问到当前模块的一些相关信息,但最多的用途是替换当前模块的导出对象。例如模块导出对象默认是一个普通对象,若是想改为一个函数的话,可使用如下方式。
module.exports = function(){
console.log("替换当前模块化导出对象")
}
复制代码
**模块初始化:**一个模块中的
JS
代码仅在模块第一次被使用时执行一次,并在执行过程当中初始化模块的导出对象。以后,缓存起来的导出对象被重复利用。**主模块:**经过命令行参数传递给NodeJS以启动程序的模块被称为主模块。主模块负责调度组成整个程序的其它模块完成工做。例如经过如下命令启动程序时,
main.js
就是主模块。
node main.js
复制代码
在同级目录下面,建立counter.js
,main.js
,以下所示
//counter.js
var i = 0;
function count() {
return ++i;
}
exports.count = count;
复制代码
// main.js
var counter1 = require('./counter');
var counter2 = require('./counter');
console.log(counter1.count());
console.log(counter2.count());
console.log(counter2.count());
复制代码
经过node 命令运行主模块,运行测试:
node
命令。node
命令可进入命令交互模式,很适合用来测试一些JS
代码片断,好比正则表达式。NodeJS
使用CMD模块系统,主模块做为程序入口点,全部模块在执行过程当中只初始化一次。