一、命令行窗口
- 常用的指令:
- dir 列出当前目录下的所以文件
- cd 目录名 进入到指定的目录
- md 目录名 创建一个文件夹
- rd 目录名 删除一个文件夹
- 目录:
- . 表示当前目录
- . .表示上一级目录
- 环境变量(windows系统中的变量)
- path
- 当我们在命令行窗口打开一个文件时,系统会在当前目录下寻找,找不到会到环境变量path的路径中寻找
- 如果我们把某一文件的路径添加到path路径中,就可以在任意位置访问了
二、进程和线程
-
进程:
- 进程负责为程序的运行提供必备的环境
- 进程就相当于工厂中的车间
-
线程:
- 计算机中的最小计算单位,线程负责执行进程中的程序
- 线程就相当于工厂中的工人
- js属于单线程
三、node中的模块化
1、什么是模块化?
-
定义一个模块就是创建一个js文件,其他js文件可以通过require()引用这个模块,注意,require引用后返回的是一个对象。
例:01.js var x=10; var y=20; 02.js let fs=require("./01.js"); console.log(fs); 运行结果:{ }
-
创建的js文件里面可以定义变量、方法等,但是每个js文件中的js代码都是运行在一个独立的函数中,而不是全局作用域,所以一个模块中的变量和函数在其他模块中无法访问。
- 例:node 在执行模块中的代码时,会自动将其封装成如下函数:
02.js
let fs=require("./01.js");
console.log(fs);
console.log(arguments.callee+'') //保存当前执行的函数对象
运行结果:
function (exports, require, module, __filename, __dirname) {
let fs=require("./01.js");
console.log(fs);
console.log(arguments.callee+'')
}
- 实际上,模块中的代码都是包装在函数中执行的,并且函数执行时,同时传进了5个实参:
- exports:对象,用来将变量或函数暴露在外部
- require:函数,用来引入外部的模块
- module:代表当前模块本身, exports就是它的一个属性,
module.exports===exports
- __filename:当前模块的完整路径
``
C:\Users\ASUS\Desktop\node.js\02.js
-__dirname:当前模块所在文件夹的完整路径
C:\Users\ASUS\Desktop\node.js
- module.exports与exports的区别:exports是在改变量, module.exports是在改对象的属性
01.js
module.exports={
a: 1,
fn:function () {
console.log("hello");
}
}
02.js
exports={
a: 1,
fn:function () {
console.log("hello");
}
}
01.js运行结果:
1
hello
02.js运行结果:
TypeError: fs.fn is not a function(报错)
2、怎么用一个js模块访问另一个模块?
- 我们可以通过exports来向外部暴露变量或方法,只需要将需要暴露的变量和方法设置为exports的属性即可。
例:
01.js
exports.x=10;
exports.y="hello";
02.js
let fs=require("./01.js");
console.log(fs);
运行结果:{x=10,y="hello" }
3、模块分为:
- 核心模块:
- 由node引擎提供的模块
- 核心模块的标识就是模块的名字
- let fs=require(“fs”);
- 文件模块
- 由用户自己创建的模块
- 文件模块的标识就是文件的路径
- let fs=require("./01.js");
四、node基础包
包描述文件用于表达非代码相关的信息,是一个JOSN格式的文件,-package.josn位于包的根目录下,是包的重要组成部分
五、node基础npm的使用
对于node而言,npm帮助其完成了第三方模块的发布、安装和依赖等。借助npm,node与第三方模块形成了很好的第三方生态系统。
- 使用方法:1.初始化 2.安装包
- npm常用命令:
- npm -v -->查看npm的版本
- npm version -->查看所有模块的版本
- npm search 包名 -->搜索包
- npm install/i 包名 -->安装包
- npm remove/r 包名 -->删除包
- npm install/i 包名 --save -->安装包并添加到依赖中
- npm install -->下载当前项目所依赖的包
- npm install 包名 -g -->全局安装包
- 国内淘宝镜像npm(用cnpm使用)
npm install -g cnpm --registry=https://registry.npm.taobao.org