为什么要引入nodejs?
- Nodejs是服务器端的javascript的运行环境,它具有无阻塞和事件驱动的特点,Nodejs采用的是V8引擎。
js文件,正常条件下需要通过html文件导入才可以运行,当安装了nodejs之后,可以通过node命令行直接运行js,当前的js是运行在服务器端的,借助于cmd命令行端口或者git命令窗口运行。
Nodejs是一个基于chrome V8 引擎的javascript运行环境,在安装nodejs的过程中,会附带安装npm(npm包管理工具)
安装完nodejs之后,可以在cmd命令行窗口中输入node -v,或者 npm -v查看当前安装的nodejs的版本信息
- npm:node package manager(node包管理工具),管理node中大量的模块包,比如安装、卸载、更新node模块包
npm:全球最大的开源库生态系统,当程序的代码量越来越多的时候,会出现代码不容易维护,以及出现全局环境的污染,造成代码量的混乱。
-
模块化的概念:
模块: 为了便于代码的维护管理和避免全局出现的环境的污染,程序员将代码封装成一个模块,即独立的文件,文件和文件互不影响,这样就不会出现上面的问题了。
nodejs采用了模块化的管理,每个文件就是一个模块,默认文件的后缀是.js,所以文件的后缀可以忽略不写,一个js文件就是一个模块,多个js文件放置在一个文件夹中,该文件夹被称为模块包。
nodejs是运行js文件的环境,而npm是管理模块包的
注意:模块包的作用是独立的,默认是不能被访问的,如果想访问这个文件,该文件必须暴露出一个出口才行。
举例: 这是文件a.js如果文件b.js想要使用文件a.js的内容,则a.js必须把出口暴露出去,外界才可以使用到该文件的内容,其中暴露出口有两种方法:
(1) module.exports=需要导出的变量或者方法名,这个方法只能导出一个内容,如果导出多个的话会把前者的覆盖掉
(2) exports.自定义的名称=需要导出的变量或者方法名。
导出完成之后在其他的文件要想使用它的东西,必须用require导入,例如,在文件b.js中引入文件a.js内容
默认情况下,require导入的是安装的nodejs模块包中的内容,即默认在node-modules中的模块。
写法:var mm=require(''./a"); 即require(参数):导入的模块名称,即文件名
./:导入当前文件夹下的模块
../:导入上一级文件夹下的模块
../../:上一级的上一级的文件夹下的模块
-
node命令:
输入node则直接进入node交互性解释器中,可以在终端中直接输入js代码
ctrl+c: 直接退出解释器,或者终止js执行,
node+ 文件名: 运行某个js文件