2020/2/1 nodejs部分易忘点回顾

node.js

1. 什么是Node.js?
    Node.js是一个基于chrome v8引擎的JS运行环境。
    去除了前端的部分功能,添加上后端的功能,包含:文件操作、数据库操作、网络通信...
    
2. Node.js和JavaScript的区别
    JavaScript是一门编程语言,编写的代码需要运行环境才能运行。运行环境:浏览器、Node.js
    Node.js是一个JS的运行环境,可以执行JS编写的代码。    
    
3. DOS命令行【重点】
    1) 运行DOS命令行
        win+R 弹出运行框
        在运行框中输入 cmd ,回车
        
    2) 常用的DOS命令
        dir        查看当前文件夹中的文件及子文件夹列表
        e:        切换盘符
        cd        进入目录
            cd .
            cd ..
            cd 目录名
            cd /
            
        cls        清除屏幕
        exit    退出
        
        ipconfig    查IP地址
        netstat -ab    查端口
        
4. 运行nodejs
    1) REPL方式
        命令: node     进入REPL交互程序运行模式
        退出:.exit
    
    2) 执行js文件【重点】
        node 文件名.js
        
    需求:编写一个加法模块,运行时输出执行结果
    
5. nodejs模块基础
    1) 什么是模块?
        一个文件就是一个模块,模块与模块之间存在依赖关系,node.js可以对这个关系 进行管理(暴露和引入),就是模块化
        
    2) 自定义模块
        创建一个 .js文件
        module.exports暴露对象
        
    3) 使用模块
        var 变量=require('模块名');

        
    4) 主模块
        被 node命令直接 运行的模块就是主模块,通常命名为:
        index.js   main.js   app.js   在 package.json的main属性中

6. 模块进阶
    1) 模块组成
        arguments 函数的内置对象,只能在函数内部有效。
            作用1:接收所有的实际参数
            作用2:调用函数自身
            
    2) 模块化
        node.js将所有用户编写的代码放在一个函数中执行,并传入五个参数,所有用户定义的变量和函数都是内部,相互不影响。
            
        function (exports, require, module, __filename, __dirname) {
            //用户编写的代码
        }
        
        __filename    当前模块的文件名(完整路径)
        __dirname    当前模块的路径
        
    3) require函数
        可以引入的模块有:
            系统模块:官方开发的模块,直接引入即可使用
            
            第三方模块:除了自己开发的和官方开发以外,其它公司和团队开发的模块就是第三方模块
                先安装
                再使用
                
            自定义模块:路径必须正确,如果是当前目录,必须写 ./
            
    4) module模块对象
        module是模块对象,拥有很多属性和方法:
            .id            模块名称,主模块则为 .
            .exports    【重点】真正的暴露对象,指向谁就暴露谁
            .parent        父模块
            .children    子模块
            .paths        查看模块的路径

            
    5) exports暴露对象
        exports是对 module.exports 的引用,只能用于暴露新增的属性和方法

        
7. 包
    1) 什么是包?
        一个文件就是一个模块
        一个项目就是一个包
        
    2) 包描述文件 package.json
        package.json是node.js项目的描述文件,也称为包描述文件。 每一个node.js项目都要有一个package.json。
        
    3) 创建包描述文件
        npm init    //一步一步创建package.json文件
        npm init -y    //全部以默认值快速创建package.json文件

        
    4) package.json的属性
        name    项目名称
        version    版本
        description    项目描述
        main    主模块
        dependencies    依赖,上线以后还需要
        devDependencies    开发依赖,开发项目时需要用,上线以后就不需要了

        
8. npm【重点】
    1) 什么是npm?
        npm是node.js的包管理工具,可以用于对node.js的包进行安装、卸载、更新、查询等等操作
        
    2) 使用npm
        a. 安装包
            npm install 包的名称    //安装包
            npm i 包的名称            //安装包,简写
            npm i 包的名称 -g        //全局安装,C:\Users\登陆用户名\AppData\Roaming\npm
            npm i 包的名称 --save-dev    //将安装的包加入开发依赖
            npm i 包的名称@版本号    //安装指定的版本
            npm i    //查找package.json中记录的依赖,全部安装
        
        b. 卸载包
            npm uninstall 包的名称
 
       
    3) cnpm
        cnpm是淘宝开发团队提供的npmjs.org镜像,可以在国内的服务器下载,提高npm下载速度
        a. 安装
            npm install -g cnpm --registry=https://registry.npm.taobao.org
            
        b. 使用
            用法与 npm 一样
            cnpm i jquery

gulp

1. 什么是构建工具?
    构建工具是指构建项目的工具
,可以帮助我们实现压缩JS、压缩CSS、编译less等等操作,简化开发工作,提升效率。
    
2. 什么是gulp?
    gulp是一个自动化构建工具
    https://www.gulpjs.com.cn/
    
3. 安装和使用gulp
    1) 全局安装gulp
        目的:为了提供一个gulp命令
        命令:npm i -g gulp@3.9.1
        
    2) 局部安装gulp
        目的:可以在当前项目中使用gulp模块
        命令:npm i gulp@3.9.1 --save-dev
        
    3) 创建gulpfile.js 文件
        目的:gulpfile.js是gulp的配置文件,在执行命令时,会自动查找这里面的构建配置
        
    4) 编写gulpfile.js配置文件
        var gulp=require('gulp'); //引入gulp模块
        //定义默认任务
        gulp.task('default', function(){
            console.log('hello world...');
        });

        
    5) 执行构建功能
        gulp 任务名称
        gulp    //如果不写任务名称,默认找 default任务

        
4. 插件使用
    1) 压缩js >> gulp-uglify
        //安装gulp-uglify插件
        npm i gulp-uglify --save-dev
        
        //在gulpfile.js中引入插件,并编写压缩js的配置代码
        var uglify=require('gulp-uglify');
        gulp.task('uglify', function(){
            gulp.src('./src/js/*.js')            //找到源文件
                .pipe( uglify() )                //执行压缩
                .pipe( gulp.dest('dist/js') );    //输出到dist目录
        });
        
    2) 重命名 >> gulp-rename
        //安装gulp-rename插件
        npm i gulp-rename --save-dev
        
        //使用插件
        gulp.src('./src/js/*.js')            //找到源文件
        .pipe( uglify() )                //执行压缩
        .pipe( rename(function(path){    //改名
            path.basename+='.min';
        }) )
        .pipe( gulp.dest('dist/js') );    //输出到dist目录
        
    3) 编译less >> gulp-less
        //安装gulp-less
        npm i gulp-less --save-dev

        //使用插件
        gulp.src('./src/less/*.less').pipe( less() ).pipe( gulp.dest('dist/css') );
        
    4) 压缩css  >>  gulp-clean-css
        //安装 gulp-clean-css插件
        npm i gulp-clean-css --save-dev

    5) 压缩图片  >>  gulp-imagemin
        npm i gulp-imagemin --save-dev
        
5. 其它功能【重点】
    1) 任务依赖
        任务依赖是指当前任务可以依赖其它任务,当执行当前任务时,会先执行依赖的其它任务,最后再执行当前任务
        gulp.task('任务名称', [依赖1, 依赖2,...], function(){
            ...
        });

    2) 监控文件改动
        gulp.watch('监控文件的路径', ['改动时执行的任务'])

 

创建项目需要先创建包描述文件
即packge.json
然后才是创建项目

全局安装是为了得到一个命令

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值