当前位置: 首页 > 工具软件 > node-abc > 使用案例 >

Node.js——node模块

侯焱
2023-12-01
  • 全局模块

    • process.env 环境变量

      if (process.env.dev) {
          console.log('开发环境');
      } else {
          console.log('生产环境');
      }
      
    • process.argv 提供当前 Node.js 进程的有关信息

      let num1 = parseInt(process.argv[2])
      let num2 = parseInt(process.argv[3])
      console.log(num1 + num2);
      
  • 系统模块

    • 定义:需要require(),但不需要单独下载

    • path: 用于处理文件路径和目录路径的实用工具

      let path = require('path')
      // path.dirname() 获取当前文件路径
      console.log(path.dirname('./node/a/b/c/1.jpg')); // ./node/a/b/c
      // path.basename() 获取当前路径中的名字
      console.log(path.basename('./node/a/b/c/1.jpg')); // 1.jpg
      // path.extname() 获取当前路径中的扩展名
      console.log(path.extname('./node/a/b/c/1.jpg')); //.jpg
      // 返回当前文件绝对路径
      console.log(path.resolve(__dirname, 'index.js')); 
      
    • fs: 用于文件读写操作

      fs-test.js

      abc
      

      使用

      let fs = require('fs')
      
      /**
       * 异步操作
       */
      // fs读操作
      fs.readFile('./fs-test.js', (err, data) => {
          if (err) {
              console.log(err);
          } else {
              console.log(data.toString());
          }
      })
      
      // fs写操作(覆盖内容)
      fs.writeFile('fs-test2.js', '月薪2万', (err) => {
          if (err) {
              throw err
          }
      })
      
      // fs写操作(追加内容)a 表示  fs.appendFile
      fs.writeFile('fs-test2.js', '月薪3万', { flag: "a" }, (err) => {
          if (err) {
              throw err
          }
      })
      
      /**
       * 同步
       */
      // fs读操作
      let data1 = fs.readFileSync('./fs-test.js')
      console.log(data1.toString());
      // fs写操作
      let data2 = fs.writeFileSync('./fs-test2', '月薪20k')
      
  • 自定义模块

    • 定义:require自己封装的模块

      require 导入模块

      • 如果有路径,就去路径里找
      • 没有就去node_modules 里找
      • 再没有就去node安装目录里找
    • exports

      mod-test.js

      // 单个导出
      exports.a = 1;
      exports.b = 2;
      

      mod.js

      // 单个导出
      const mod1 = require('./mod-test')
      console.log(mod1.a);
      console.log(mod1.b);
      
      
    • module

      • 模块导出

        mod-test.js

        /**
         * 模块化导出
         */
        module.exports = {
            a: 1,
            b: 2
        }
        // 方法导出
        module.exports = function () {
            console.log(123);
        }
        
        // class导出
        module.exports = class {
            constructor(name) {
                this.name = name
            }
            show () {
                console.log(this.name);
            }
        }
        

        mod.js

        // 方法导出
        const mod1 = require('./mod-test')
        mod1()
        
        // class导出,需要实例化
        const mode1 = require('./mod-test')
        let p = new mode1('aaaaaaaaaa')
        p.show()
        
 类似资料: