1.认识node.js
JavaScript作为一门编程语言的要素,包括基本类型和变量、函数和对象等,都与其他编程语言无异。
JavaScript的最大缺陷在于它是专门为了在浏览器中运行而设计的,在设计之初没有考虑到和I/O设备交互的情形。
为了让JavaScript能够直接在本地机器上运行并利用所有资源,Node对JavaScript做了大量拓展。
包括模块系统、文件系统、流处理以及多进程支持。
2.使用node.js的过程
1.在代码文件夹中,【新建js文件】(不要新建成html),里面写任意js代码。
2.来到代码文件夹,在上面的路径处输入【cmd】,就弹出了小黑窗。
3.输入【node 文件名】,就能执行代码。
4.node -v:查看node下载版本.
5.文件名太长,可以输入一半,按tab键补足.
6.按方向键↑,可以切换到上一条敲过的命令.
模块化的概念:
把一个大的程序拆分成相互依赖的n个小文件
这些小文件还可以通过特定的语法组合到一起
这个过程称之为模块化
优点:
避免命名冲突(减少命名空间污染)
更好的分离,按需加载
更高复用性
高可维护性
模块化的规范:
在require.js中,使用require.js提供的函数require()来应用一个模块
每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
在服务器端,模块的加载是运行时同步加载的。在浏览器端,模块需要提前编译打包处理。
[特点]
所有的代码都运行在模块作用域,不会污染全局作用域。
模块可以多次加载,但是只会在第一次加载是运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。
暴露模块
module exports = value
exports xxx = value
引入模块
require(xxx)
在第三方模块中,xxx为模块名。在自定义模块中,xxx为模块文件路径。
// [内置模块fs]
// node提供了一个内置模块叫fs(filesystem),专门用来操作文件的。
// 可以读取一个文件的内容,也可以把内容写入到一个文件。
// 导入模块
require('模块名')
// const fs = require('fs') (一般会定义一个变量名接收)
// 读取文件
fs.readFile('文件的路径',(err,data) => {
// 不管是读取成功,还是读取失败,都会调用这个回调函数。
// 如果读取失败,err里就会有错误信息。
// 如果读取成功,err为空,data里就会有读取的内容
})
// 写入文件
fs.writeFile('文件的路径',写入的内容,err =>{
// 写入完成调用的回调函数。
// 如果成功err就为空,如果失败err就有值。
})
// 追加文件内容
fs.appendFile('路径','要追加的内容',err => {
if(!err){
console.log('追加成功');
}
})
// 拷贝文件
fs.copyFile('要拷貝的文件路徑','目標文件的路徑')
// 刪除文件
fs.unlink('文件路徑',err => {
if(!err) {
console.log('刪除成功');
}
})