npm 和 模块化

// shift + 鼠标右键 在文件夹中可快捷打开 cmd
        // clear 清除
        //  node.js中规定一个JavaScript文件就是一个模块 模块内定义的变量和函数外部无法得到
        //模块内部 使用exports对象进行成员导出 使用require方法导入其他模块
        // node.js本质上是模块化的依赖开发
        //  1.模块成员的导入 第一种方式

        //a.js
        //模块内定义变量
        let version = 1.0;
        //模块内定义方法
        const sayHi = name => '您好,${name}';
        // 向模块外导出数据
        exports.versions = version;
        exports.sayHis = sayHi;

        //b.js
        // 在b.js模块中导入模块a
        let c = require('./a.js'); //定义一个变量接收require的返回值 返回导入模块的对象
        //输出b模块中的versions变量
        console.log(c.versions);
        //调用b模块中的sayHis方法 并输出其返回值
        console.log(c.sayHis('你属猪吗'));

        // 导入模块时 后缀.js可以省略


        // 2.模块成员导入第二种方式
        module.exports = name;
        module.exports.versions = version;
        module.exports.sayHis = sayHi;
        //export.js文件
        const greeting = name => `hello ${name}`;
        module.exports.functionnames = greeting;


        //require.js文件
        const a = require('require.js')
        console.log(a.functionnames('张三'));

        // exports是module.exports的别名(地址引用关系) 导出对象以module.exports为准


    //   一、系统模块
        // 3.系统模块 : node运行环境提供的API就是系统模块
        //  文件模块 之  fs模块 f:file文件 s:system系统
        var fs = require('fs');
        fs.readFile('文件路径/文件名', ['文件编码'], callback);
        // callback通过函数参数返回获取文件读取结果
        fs.readFile('文件路径/文件名', 'utf-8', (err, doc) => {
            if (err == null) {
                // 说明获取文件成功 err是一个对象 包含错误信息 doc 文件内容
            }
        })
        fs.writeFile('文件路径/文件名', '数据', callback); //向目标文件内写入内容
        
        var fs = require('fs')
        var content = '写入你想写入的内容'
        fs.writeFile('文件路径/文件名', content, err => {
            if (err != null) {
                // 则说明写入文件失败
            }
        })

        // 4.系统模块path模块   之路径操作 因为不同操作系统路径分隔符不一致 所以需要路径拼接
        // windows    /和\
        // linux      /
        path.join('路径1','路径2',...)

        // 导入path模块
        const paths = require('path');
        //路径拼接
        let finalPath = paths.join('homework','node','node.js')
        //输出 homework\node\node.js

        // 相对路径和绝对路径




        // 二、第三方模块
        // 别人写好的 具有特定功能的 能直接使用的 模块
        //npmjs.com存储第三方模块的网站   npm 是Node的第三方模块管理工具
        // 获取第三方模块文件夹    npm i formidable
        // 删除第三方模块文件夹 npm uninstall formidable
        //本地安装 当前文件夹使用安装好的模块 全局安装 所有文件夹共享


        // 第三方模块之 nodemon 修改文件夹后 不需要在命令行再执行操作 可以直接看到修改后的效果
        //nrm 是npm下载地址切换工具  切换是因为npm官网在国外  数据下载慢  切换到国内的服务器 
        // 下载nrm npm i nrm -g
        //查询可用下载地址列表 命令 nrm ls
        //切换npm下载地址 nrm use 下载地址名称



        // 第三方模块之  gulp :基于Node平台开发的前端构建工具
        // gulp 功能:
        // 项目上线 HTML CSS JS文件压缩
        //ES6语法转换成ES5
        //less语法转换成CSS语法
        //公共文件的抽取 便于修改开发
        //修改文件后 浏览器自动刷新
        // 下载命令 npm i gulp   没有全局安装只有本地安装


        // gulp使用
        //npm i gulp 下载gulp库文件
        //在项目根目录下建立gulpfile.js
        //重构项目的文件夹结构 src目录放置源代码文件    dist目录放置重建后的文件
        // 在gulpfile.js文件中编写任务
        //命令行工具中执行gulp任务
        


        //gulp中的API
        gulp.src()//获取任务要处理的文件
        gulp.dest()//输出文件
        gulp.task()//建立gulp任务
        gulp.watch()//监控文件变化


        // 引用gulp模块
        const gulps = require('gulp');
        //使用gulp.task()方法建立任务
        gulp.task('任务名称',() =>{
         //获取要处理的文件
         gulp.src('路径/文件名');
        //将处理后的文件输出到存放处理后的文件夹里
        .pipe(gulp.dest('路径/文件名'))
        })
        

猜你喜欢

转载自www.cnblogs.com/treasurea/p/11235310.html