美文网首页
环境 & 调试

环境 & 调试

作者: bby365 | 来源:发表于2018-06-09 16:52 被阅读0次

Nodejs 环境

学习3个部分知识:

  • CommonJs
  • global
  • process

CommonJS

  • 每一个文件都是一个模块,有自己的作用域
  • 在模块内部module变量代表模块本身
  • module.exports 属性代表模块对外接口

执行下面代码:

//index.js
console.log('bby365')

nodejs帮我们执行的代码如下:

// exports 与 modules.exports 的快捷方式
/*
  exprots.test = 1000  会正确导出
  exports  = {test :100} 不会导出 ,因为此时exports是另外一个对象了,和modules.exports 没有了任何关系
  理解两者的区别:对象的引用
*/
const extports = modules.exports
(function(exports, require, module, __filename, __dirname){
    console.log('bby365')
})

require规则

  1. /表示绝对路径, ./ 表示相对当前文件
  2. 不写扩展名 ,会依次 .js .json .node
  3. 如果是直接写模块名,先从bulid-in 模块里找,然后在从node_modules文件夹里找第三方的模块

require()一个模块,实际上是执行了这个模块,module.exports 相当于返回值返回。
module被加载,其实是被执行,加载后会缓存:第二次不会再执行,会直接拿缓存中的结果


global

  • CommonJs
  • Buffer、process、console
  • 定时器 timer
    setTimeout, setInterval, setImmediate, clearTimeout, clearInterval, clearImmediate

自定义全局变量的方法:

// 01.js
const testVar = 1000; // testVar 并不会成为全局变量,因为每一个模块都会有作用域
global.testVar2 = 500;
// index.js  
const mod = require('01.js')
console.log(mod.testVar)
console.log(testVar2) 

process

常用属性和事件

// argv, argv0, execArgv, execPath
/*
argv : 外部启用node命令时,可以传递参数。常用属性,argv[2]之后,表示外部传递的参数。
其他3个属性不常用,注意下execArgv属性的区别
*/
const {argv, argv0, execArgv, execPath} = process

argv.forEach(item =>{
    console.log(item)
})

console.log('argv0:  ' + argv0);
console.log('execArgv:  ' + execArgv);
console.log('execPath: ' + execPath);
// env : 返回用户环境信息的对象
// process.cwd()  : 返回 进程当前工作目录,翻译成人话:执行文件的目录
// setImmediate() 和  process.nextTick() 的区别; 一般选择 setImmediate()
setImmediate((name) =>{
    console.log(name)
},"bby");
process.nextTick(() =>{
    console.log('365')
});
// output:
// 365
// bby

相关文章

  • 调试环境

    调试环境 我使用的调试的环境是: idea sqoop 1.99.6 调试使用的代码 maven依赖 下面是项目使...

  • 环境 & 调试

    Nodejs 环境 学习3个部分知识: CommonJs global process CommonJS 每一个文...

  • 远程调试代码

    远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试。生产环境...

  • 前端调试--真机环境调试

    前端调试环境搭建 前言 日常前端开发调试过程中,经常会遇到真机调试。真机调试环境搭建主要从如下几点进行讲解: 启动...

  • 【React Native 极速指南】开发环境

    这篇文章你将会学习到: iOS运行环境模拟器调试真机调试 Android运行环境模拟器调试真机调试 iOS 运行环...

  • WebPack笔记

    WebPack 构建环境页面 初始化 调试环境搭建 生成Source Maps devtool配置如下: 本地调试...

  • mongo-express 远程代码执行漏洞分析

    搭建调试环境,调试 CVE-2019-10758 漏洞,学习nodejs 沙箱绕过,以及nodejs 远程调试。目...

  • android adb 调试总结

    一 windows 上搭配adb 调试环境 下面以windows 7 /10 为例说明如何创建adb调试环境。 其...

  • 2021-03-24 mysql8调试环境搭建

    clion mysql调试环境搭建 下载代码 使用clion搭建调试环境 初始化mysql实例 脚本断点追踪 my...

  • Django 多进程多线程的一些个人理解

    一、Django 开发环境与生产环境 开发/调试 生产环境 Nginx + uWSGI + supervisor ...

网友评论

      本文标题:环境 & 调试

      本文链接:https://www.haomeiwen.com/subject/oegteftx.html