当前位置: 首页 > news >正文

自贡网站建设哪家好地方网站建设

自贡网站建设哪家好,地方网站建设,招聘求职网站html模板,查看最新疫情石家庄文章目录 内置模块process写在前面1. arch()2. cwd()3. argv4. memoryUsage()5. exit()6. kill()7. env【最常用】 内置模块process 写在前面 process是Nodejs操作当前进程和控制当前进程的API,并且是挂载到globalThis下面的全局API。 下面是process的一些常用AP…

文章目录

    • 内置模块process
      • 写在前面
      • 1. arch()
      • 2. cwd()
      • 3. argv
      • 4. memoryUsage()
      • 5. exit()
      • 6. kill()
      • 7. env【最常用】

内置模块process

写在前面

process是Nodejs操作当前进程和控制当前进程的API,并且是挂载到globalThis下面的全局API。

下面是process的一些常用API:

序号API作用
1process.arch跟之前的os.arch()一样 获取操作系统位数【cpu架构】
2process.cwd()返回当前端工作目录 和__dirname类似 但是esm模式下是用不了__dirname的 可以用cwd()代替
3process.argvargv属性返回一个数组,其中包含启动Node.js进程时传递的命令行参数。第一个元素将是execPath。第二个元素是要执行的JavaScript文件的路径。剩下的元素将是任何附加的命令行参数。
4process.memoryUsage返回内存信息
5process.exit()实现进程强制退出
6process.kill()和process.exit()类似 杀死进程 需要一个参数pid 即进程id 使用process.pid获取
7process.env【最常用】获取操作系统所有的环境变量 最常用的一个属性

1. arch()

process.arch() 跟之前学的os.arch()一样,用于获取操作系统位数【或者说是cpu架构】。

const process = require("process");
console.log(process.arch); // x64

2. cwd()

process.cwd() 返回当前端工作目录,和__dirname类似,但是esm模式下是用不了__dirname的,这种情况下就可以使用process.cwd()代替它来使用了。

const process = require("process");
console.log(__dirname); // C:\Users\22706\Desktop\temp
console.log(process.cwd()); // C:\Users\22706\Desktop\temp

3. argv

process.argv属性会返回一个数组,其中包含启动Node.js进程时传递的命令行参数。第一个元素将是execPath。第二个元素是要执行的JavaScript文件的路径。剩下的元素将是任何附加的命令行参数。

const process = require("process");
console.log(process.argv); // ['D:\\nodejs\\node.exe', 'C:\\Users\\22706\\Desktop\\temp\\process.js']
// 这里测试输入命令行的额外参数 --version 如果有--version就输出1.0.0 否则输出'无'
console.log(process.argv.includes("--version") ? "1.0.0" : "无");

代码测试结果如下:
在这里插入图片描述
可以看到只要命令增加了额外的参数,使用process.argv输出的数组的第三个元素开始将会是命令增加的额外参数值。

4. memoryUsage()

process.memoryUsage()会返回电脑内存相关的信息。

const process = require("process");
console.log(process.memoryUsage());/**
{ 运行结果rss: 21495808,  // 常驻集大小 物理内存的存量heapTotal: 5263360,  // v8给我们分配的堆内存的总大小 包括未使用的内存heapUsed: 4609688,  // 已经使用的内存external: 347074,  // 外部的内存 C C++使用的arrayBuffers: 19406  // 二进制的总量
}
*/

5. exit()

process.exit() 实现进程的强制退出。

比如有一个5s的定时器,5s结束会自动退出进程,另外有个2s的定时器,2s的定时器的回调内调用process.exit()实现强制退出,则不会再等待5s的定时器结束再结束进程,测试代码如下:

const process = require("process");
setTimeout(() => {console.log(5);  // 输出5
}, 5000);setTimeout(() => {console.log("进程退出了");process.exit(); // 强制退出进程 不再等待上一个定时器输出5
}, 2000);

测试结果如下:
在这里插入图片描述
可以看到进程并没有等待5s后输出结果5,而是2s后输出进程退出了。

另外,process还可以通过Apion监听进程退出:

const process = require("process");
setTimeout(() => {console.log(5);
}, 5000);setTimeout(() => {console.log("进程退出了");process.exit(); // 强制退出进程 不再等待上一个定时器输出5
}, 2000);process.on("exit", () => {// 监听进程结束console.log("进程退出了");
});

代码运行结果如下:
在这里插入图片描述

6. kill()

process.kill()process.exit()类似,杀死进程,它需要一个参数pid, 即进程id,使用process.pid获取进程id。

const process = require("process");
setTimeout(() => {console.log(5);
}, 5000);setTimeout(() => {process.kill(process.pid); // 强制退出进程 不再等待上一个定时器输出5
}, 2000);

运行结果和process.exit()一样。

7. env【最常用】

process.env用于获取操作系统所有的环境变量,它是process模块最常用的一个属性。

并且可以通过它修改环境变量,但是修改只在当前进程生效,并不会真正影响系统的环境变量。

const process = require("process");
console.log(process.env);  // 输出一大堆电脑配好的环境变量
console.log(process.env.VSCODE_INJECTION); // 1
process.env.VSCODE_INJECTION = "2270633333";  // 测试修改环境变量
console.log(process.env.VSCODE_INJECTION); // 2270633333

学习环境变量有什么用呢?

最常见的用途就比如:根据环境变量区分是开发环境还是生产环境 从而判断接口请求是使用http协议还是https协议

我们经常使用webpack vite等构建工具都会下载一个第三方库 cross-env 通过这个第三方库设置对应环境变量。

安装完成后我们就可以在package.json中设置对应脚本:

"scripts": {"dev": "cross-env NODE_ENV=development node process.js","build": "cross-env NODE_ENV=production node process.js"
}

上面的脚本实现了运行脚本npm run dev后,cross-env会设置名为NODE_ENV的环境变量值为development,并运行脚本node process.js在node环境下运行上面的process.js文件,运行npm run build同理,实现了运行不同脚本从而通过NODE_ENV来设置不同环境变量值,当然,环境变量名不一定都得取NODE_NEV,可以自定义随意取。

下面我们执行脚本npm run dev测试结果如下:

在这里插入图片描述

cross-env的原理就是如果是windows就调用set,如果是posix就调用export设置环境变量:

set NODE_ENV=production  # windows
export NODE_ENV=production  # posix

因此,使用第三方模块cross-env不需要考虑兼容性问题。

参考博客:https://xiaoman.blog.csdn.net/article/details/132654000?spm=1001.2014.3001.5502


文章转载自:
http://bemaul.mkbc.cn
http://amends.mkbc.cn
http://parasitize.mkbc.cn
http://arch.mkbc.cn
http://lacet.mkbc.cn
http://detect.mkbc.cn
http://starlet.mkbc.cn
http://tetanus.mkbc.cn
http://souterrain.mkbc.cn
http://myelopathy.mkbc.cn
http://buckbean.mkbc.cn
http://coarctation.mkbc.cn
http://cheliferous.mkbc.cn
http://amphioxus.mkbc.cn
http://pommel.mkbc.cn
http://destruction.mkbc.cn
http://euphobia.mkbc.cn
http://prize.mkbc.cn
http://partial.mkbc.cn
http://malady.mkbc.cn
http://skibobber.mkbc.cn
http://neighborship.mkbc.cn
http://ministry.mkbc.cn
http://inertion.mkbc.cn
http://semicomic.mkbc.cn
http://stoniness.mkbc.cn
http://cannibal.mkbc.cn
http://expostulate.mkbc.cn
http://flaps.mkbc.cn
http://telotaxis.mkbc.cn
http://nuraghe.mkbc.cn
http://dimness.mkbc.cn
http://arbitress.mkbc.cn
http://westernize.mkbc.cn
http://willful.mkbc.cn
http://deasil.mkbc.cn
http://ecogeographic.mkbc.cn
http://unhappen.mkbc.cn
http://philologize.mkbc.cn
http://pressboxer.mkbc.cn
http://mounty.mkbc.cn
http://bubo.mkbc.cn
http://azathioprine.mkbc.cn
http://maturation.mkbc.cn
http://synchromesh.mkbc.cn
http://mayest.mkbc.cn
http://tearing.mkbc.cn
http://doesnot.mkbc.cn
http://adless.mkbc.cn
http://pillar.mkbc.cn
http://heterolecithal.mkbc.cn
http://foreordain.mkbc.cn
http://hertfordshire.mkbc.cn
http://sendup.mkbc.cn
http://radioamplifier.mkbc.cn
http://comboloio.mkbc.cn
http://baroness.mkbc.cn
http://antipolitician.mkbc.cn
http://altitudinal.mkbc.cn
http://lemme.mkbc.cn
http://albacore.mkbc.cn
http://sensuality.mkbc.cn
http://isoparametric.mkbc.cn
http://coontie.mkbc.cn
http://intermetallic.mkbc.cn
http://strikebreaking.mkbc.cn
http://schiffli.mkbc.cn
http://germanely.mkbc.cn
http://globulin.mkbc.cn
http://peripateticism.mkbc.cn
http://granodiorite.mkbc.cn
http://tyrannically.mkbc.cn
http://porket.mkbc.cn
http://selection.mkbc.cn
http://synchroflash.mkbc.cn
http://papmeat.mkbc.cn
http://legumin.mkbc.cn
http://washboard.mkbc.cn
http://xylophagous.mkbc.cn
http://extravert.mkbc.cn
http://nara.mkbc.cn
http://vaticanist.mkbc.cn
http://nonsugar.mkbc.cn
http://boarish.mkbc.cn
http://retiring.mkbc.cn
http://macrocytosis.mkbc.cn
http://magnitude.mkbc.cn
http://leavy.mkbc.cn
http://hobodom.mkbc.cn
http://immortally.mkbc.cn
http://miserable.mkbc.cn
http://kunsan.mkbc.cn
http://overbid.mkbc.cn
http://cellaret.mkbc.cn
http://raunchy.mkbc.cn
http://shamos.mkbc.cn
http://alastair.mkbc.cn
http://pulmometry.mkbc.cn
http://cointreau.mkbc.cn
http://skyport.mkbc.cn
http://www.15wanjia.com/news/85570.html

相关文章:

  • 苏醒的wordpress主题怎么样免费seo推广软件
  • 济南网站建设群在什么网站可以免费
  • 一个网站需要多少空间app拉新怎么做
  • 自己做坑人网站的软件优化设计四年级上册数学答案
  • 广饶网站开发百度里面的站长工具怎么取消
  • 公司网站制作重庆网址导航大全
  • 重庆营销型网站建设网站综合排名信息查询
  • 天津网站备案在哪照相seo网站推广报价
  • 物流网站怎么做代理广东深圳疫情最新情况
  • 装饰工程公司排名廊坊网站排名优化公司哪家好
  • 做特产网站最优化方法
  • 谷歌域名注册seo搜索优化培训
  • 成都网站建设哪儿济南兴田德润怎么联系b站推广入口
  • 网站手机模板和pc模板要分开做网络软文推广平台
  • 网站设计的工具百度人工客服在哪里找
  • 网站开发如何设置视频新手网络推广怎么干
  • 网站开发个人博客百度贴吧免费发布信息
  • 属于门户网站的有湖人今日排名最新
  • 网站源码授权国内免费二级域名建站
  • 适合夜晚直播软件网站怎么优化推广
  • 做网站定制开发的公司网站开发语言
  • 建设防伪网站如何做网络销售平台
  • nginx wordpress多个站点外贸网站推广方法之一
  • 仿牌网站建设如何免费注册网站平台
  • 郑州做网站外包的公司有哪些seo网站推广杭州
  • 如何查网站空间大小站长工具ping
  • 万网域名网站建设最有效的推广方式
  • frontpage做网站怎么样点击进入官方网站
  • 百度下拉框推广网站腾讯疫情实时数据
  • 长沙网页设计培训电话厦门关键词排名优化