切换导航
简历
工具
演示
查询
导航菜单
服务端
30
前端
114
数据库
82
进阶开发
8
桌面程序
2
QA
15
软件使用
36
规范协议
5
操作系统
11
AI
0
复用资源
6
硬件
0
标签
HTML
正则表达式
Json
包管理工具
vite
CSS
XPath
JavaScript
Jquery
less
ES6
Vue
React
vue 3
Layui
editor.md
sea.js
Zepto.js
mysql.js
mssql.js
NodeJs
Express
前端template
YAML
杂项
外部链接
.NET Core SDK和运行时安装包
淘宝 NPM 镜像
查询网
Tables Generator线上表格转换工具
引用cdn在线脚本和样式
首页
前端
nodeJs 全局变量 golbal 和模块化导出引用
[TOC] ### 文件 #### 1、__dirname 获取当前文件所在的目录 #### 2、__filename 获取当前文件所在的路径包含文件名称 ### 进程 #### 1、process.argv + 1.默认获取到一个数组,数组数据分别是node.js运行环境所在路径,第二是当前执行js文件错在的路径 + 2.可接收命令行的参数并保存在原来的数组中,下图中数组的第三个和第四个就是接收后追加到数组中的数据 ```js console.log(process.argv) ```  #### 2、process.arch + 获取当前系统的架构,比如电脑是window 64位的系统这里输出的就是`x86` ```js console.log(process.arch) ``` ### 模块化 模块化文件主要有三类`.js/.json/.node` #### 1、js模块化导出 ##### 1.1、module.exports 使用这种方式导出模块,引用此模块后02.js文件中的`obj`指向的就是01.js文件中的`fun`对象,可直调用对象方法`obj.minus(10,2)` ##### 1.2、exprots 使用这种方式导出模块,引用此模块后02.js文件中的`obj`同样也是指向的就是01.js文件中的`fun`对象,但是调用时需要使用exprots的完整定义`exprots.fun.minus(10,2)` ##### 1.3、global 使用这种方式导出模块,引用此模块后02.js文件中的`obj`同样也是指向的就是01.js文件中的`fun`对象,调用方式为`fun.minus(10,2)`,引入此模块也可简化,直接`require("./node02.js")`即可 + 模块化文件01.js ```js function sum(a, b) { return a + b; } function minus(a, b) { return a - b; } var fuc = { sum: function (a, b) { return sum(a, b) }, minus: function (a, b) { return minus(a, b) } } // exports.fuc = fuc; // module.exports = fuc; global.fuc = fuc ``` > 如果在模块文件中同时使用`exports`和`module.exports`引用同个成员,那么只会有`module.exports`生效,例如示例中在引入js文件中的`obj`,`obj`在`module.exports`模块化导出后已经指向了`fun`对象,这时`obj.fuc.minus(10,2)`便会报错`fun`对象中没有`fun`这个成员。 #### 2、json模块化 + 模块化文件test.json ```json { "username": "曹操", "age": "56", "sex": "男" } ``` #### 3、模块化引用 ##### 2.1、requier() 在js文件中引入js模块文件 + 引用模块化后的文件02.js ``` js /* ******************************************* 引用exports和module.exports导出模块 ******************************************* */ var obj = require("./node02.js") console.log(obj.minus(10,2)) console.log(obj.sum(10,2)) // 输出:8 // 12 /* ******************************************* 引用global导出模块 ******************************************* */ // require("./node02.js") // console.log(fuc.sum(10,2)) // 输出:12 /* ******************************************* json文件模块化引用 ******************************************* */ // var data = require("../data/test.json") // console.log(data.username) // 输出:曹操 ``` > 如果引用文件出现多次引用也只会加载一次模块化文件,已加载过的模块化文件nodejs会进行缓存 >引用模块化文件中的.js后缀也可以省略掉如`require("./node02")`,如果一个文件中引用了三种不同后缀的模块文件,并且路径名称也是一样的,`data.js/data.json/data.node`都省略了后缀,这时`require("./node02")`引用的优先级是.js大于.json大于.node
扫一扫手机看
点击排行
windows 文件资源管理器使用
Layui 弹窗open使用说明
SQL Server 中字符串函数使用
C# 使用QQ邮箱代理做邮件接收功能
SQL Server关于apply的两种形式cross apply 和 outer apply
ASP.NET MVC 模型的自定义验证
nvm安装及常用命令
SQL Server 中数据类型转换
SQL Server 中WITH AS短语的使用
IE浏览器下AJAX缓存问题导致数据不更新的解决办法
订阅号