Node整理

认识Node

Js 前端语言,运行在了浏览器,浏览器的js没有读写文件的功能
input:type=file 可以选中自己本地的资源;

    Node.js : Js在服务器运行(基于Node运行),能够对服务器的文件进行操作读写;
    把Node安装在了服务器上,在node环境下运行js;node赋予了js进行I/O操作的能力
    I/O : I:input 输入   O:outPut : 输出 通过Node.js可以更改读写文件内容;
    学习在Node环境下,js的语法都有什么


    客户端:window : 在客户端中JS全局对象是window(很多内置的属性和方法) 前端
    服务器:global:在node中运行js,全局对象是global;                  后台
    
    1.Node是基于V8引擎渲染和解析JS,它不是后台语言,是一个工具或者环境,用来解析JS的工具和环境。为什么说是后台语言,主要是一般会把NOde安装在服务器上,在服务器上运行JS代码,通过Node解析的JS代码可以做服务器的一些事情;
    1) : 我们学习webpack,webpack编译打包工具,基于node运行的
    2) : npm 安装一些模块  npm  install  jquery --save-dev npmjs.com


    2. 基于Node构建中小型项目(js是一门全栈语言) 

Node中的npm

1.Npm : 跟随安装node时,一并下载了Npm;下载完Node,那么大家可以使用Npm命令
把模块安装在全局环境和安装在当前项目中;
安装在全局的命令 npm install jquery --global(npm install -g jquery);

    安装在本地项目中:npm install XXX;
    package.json :记录安装过得模块的小本本;npm  init -y;
    把模块安装设置为开发依赖(开发中):npm install less --save-dev 
    把模块设置为生产依赖(部署到服务器上) :npm install axios(npm install axios --save)
    npm  uninstall less --save-dev;
    bable-loader : 用来把es6编译成es5的模块,代码最后上线的时候是es5;在项目部署到服务器之前需要把es6通过babel-loader编译成es5;当项目上线就不再需要babel-loader;所以这就是一个开发依赖;

    安装到全局和安装到本地区别
    1) 安装到全局对任何项目都有作用 查看全局的路径:npm  root -g ;/// C:\Users\Administrator\AppData\Roaming\npm\node_modules

    2) 只能针对当前项目有用


    在安装模块之前,一般先npm  init -y,生成一个package.json配置文件
    把安装的模块生成配置清单,存放在package.json文件中,后期别人需要部署项目时,只需要执行npm i就可以安装package.json中所有的依赖,这叫跑环境;
    npm  i : 把开发和生产依赖都安装一遍
    npm i --production : 只安装生产依赖的模块
    npmjs.com 官网有这个模块,才可以安装成功;npm uninstall axios 
    package.json,可以基于scripts选项配置本地可以执行的脚本命令;
    npm  run  + script的属性名,相当于把这个属性名对应的属性值放在命令窗口执行一次;

    开发环境: 正在开发的项目的代码
    生产环境: 是指上线的项目代码;
    主干:生产环境的代码
    分支: 开发环境的代码

Node的模块管理规范

    AMD :requre.js
    CMD : sea.js
    Common.js :node.js

    什么模块: 一个JS文件就是一个模块;这些模块化思想,规定了js中我们的模块如何创建,如何导导入,以及如何导出

    Node中的模块管理
    1. 在Node环境下,我们创建一个js,相当于创建了一个新的模块,模块中的方法都是这个模块私有的方法,不同的模块中同名方法不会有任何冲突

    2.Node给其提供一个导出模块中的方法的语法:module.exports = {};


    3. require是Node中天生提供的用来导入模块的方法;require导入的模块是同步,a中的代码从前到后需要解析一遍,并且没有导入完成,不能做后面的事

    1.内置模块(核心模块)  2. 第三方模块(axios.jquery.vue) 3. 自定义模块(自己创建的js)
    
     注意事项
    1): 可以省略后缀名.js
    2) : 如果是调用自己的自定义模块,则需要加上相对路径 /(根目录) ./(当前目录) ../ (上级目录)
    3) :不加地址,先找第三方模块,然后再找核心模块,如果还没有,就报错;

Node的内置模块

    fs : 文件操作系统
    1 . readdir :异步读取指定的文件目录;读取完毕触发第二个参数,第二个参数必须是一个回调函数;会给回调函数传入两个参数,err:读取的错误信息,result:读取的结果,如果读取成功,err是null;读取成功返回一个数组;
    2. readdirSync: 同步读取指定的目录,返回一个数组,数组中包含了目录的字符串  当读取完成以后,执行下面的方法;
    3. readFileSync : 读文件;在Node读取文件内容默认是一个buffer的文件流;0-9a-f;每一个汉字或字母都有其固定对应一个buffer数据;
    4. readFile:异步读取文件;
    5. writeFile: 想某个文件中写入内容,把之前的进行覆盖;
    6. writeFileSync;
    7. ’appendFileSync:追加内容;
    8. appendFile:异步追加内容;
    9. copyFileSync:把文件拷贝一份,放到新的文件中,并且把之前的内容进行覆盖;
    10.copyFile:异步拷贝;
    11.unLink:异步删除文件;
    12.mkdir:创建文件夹
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值