先上笔记
在cmd里使用cd来进行进、退目录操作(使用win+r来打开cmd)
cd ../ 是回退
cd 文件名字 是进入文件
node node01.js 是通过node来打开node01.js这一文件
-------------当然以上的方法(通过cmd来调控node实在是太繁琐了)-------接下来是比较简单的---------
-------------比如不要回退,直接在文件中打开等等等等-----------------------------------------
1-在目录下按住shift点右键,会有在当前窗口下打开powershell窗口,点他就就省事了
2-在输入文件名字时,输入前几个以后按tab键可以补全剩余名字WoW(./代表当前目录)
3-按一下键盘上的‘上’键就可以多次执行同意代码or查询历史记录了
4-输入clear来清屏
5-
------------why使用node.js进行模块化开发?------------------------
1--解决文件依赖问题,后引入的文件可能会依赖于前面的文件(直接告诉你这个文件依赖了什么文件,不用自己分析)
2--解决命名冲突的文件,js中文件和文件是完全开放的(前对后来说),所以命名会容易冲突
3--node.js规定一个js文件就是一个模块,模块内部的 变量和函数 在默认情况下无法在外部得到
4--使用exports(暴露)对象进行成员导出(2种方式的1种),require方法导入其他模块
5--其实exports是module.exports的别名(地址应用关系)。导出对象最终以module.exports为准
6--系统模块fs : file system
001
let num1 = 3154;
let fn1 = (name) => {
return `My name is ${name},how about U?`;
};
let str1='my';
console.log(fn1(12));
console.log(fn1(111));
exports.num1 = num1; //暴露变量或者函数 exports.暴露后的名字 = 这个文件的名字
exports.fn1 = fn1;
module.exports.str1=str1; //这是(暴露)导出函数的第二种方式
//其实exports是module.exports的别名(地址应用关系)。导出对象最终以module.exports为准
//当指向发生变化时,一定以module.exports为准
//就是说当指向不一样时候,会优先以module.exports的指向为准
002
let from001 = require('./node001.js'); //在002中导入001中所暴露的模块(后缀可以省略)
//定义变量 from001 = require('找暴露参数的那个文件');
console.log(from001.num1); //成功用node.js输出了001中num1的值
console.log(from001.fn1('Eille')); //为何会返回在001中调用的那个12函数??
console.log(from001); //这样会返回文件中所有被暴露的值 WoW、方便
//{ num1: 3154, fn1(这里是被暴露后的函数名字!): [Function: fn1(这里是源文件的函数名字!)] }
console.log(from001.str1);
//目前在引入文件以后会直接执行源文件的所有代码,以后估计会学怎么办吧(?)
003
const fs = require('fs'); //获取到了有关文件操作的模块(API)
//接下来是读取文件的语法实例
fs.readFile('./node001.js', 'utf-8',(err, doc)=> { //这个实际上是回调函数(当执行完以后会执行的函数)
//当读取成功时,err===null (以错误优先的)
//doc参数为文件内容
if(err === null){
console.log(doc); //打印下值
}
});
// fs.readFile('文件相对地址','编码',(err,doc)=>{}); //基本格式 err是错误与否 doc是读取的结果