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

Node语法的基础使用

js文件运行

一般情况下,我们要想运行js文件,就先将其引入到html中,在利用html来打印和运行,不过现在有node就不需要这么麻烦了。

创建test.js文件,内容如下:

console.log('123')

打开cmd,执行命令:node test.js即可运行

模块之间的引入

一般引入a模块引入b模块时,使用require(‘b.js’),然后再b模块中将在a模块中要使用的变量导出即可,如:exports={}

// a.js
let b = require('./b.js')
console.log(b.add(1,2))  // 3// b.js
function add(a,b){return a+b
}
exports.add = add

打开cmd命令:node a.js

文件操作模块-fs

node提供了专门对文件进行操作的文件fs模块,并且还有相关的方法readFile,writeFile等。具体使用方式如下:

fs.readFile(文件路径,编码格式,CallBack)

fs.writeFile(文件路径,要写入的数据,callBack)

//通过模块的名字fs对模块进行引用
const fs = require("fs");
//通过模块内部的readFile读取文件内容
fs.readFile("./02.module-a.js","utf-8",(err,doc) => {//如果读取出错err是一个对象 包含错误信息//如果文件读取正确 err是个null//doc是文件读取的结果console.log(err);console.log(doc);
});
// 往文件中写入数据的模块
fs.writeFile("./demo.txt","这是刚写入的文字,zsf",(err) => {//如果读取出错err是一个对象 包含错误信息//如果文件写入正确 err是个nullif(err!=null){console.log(err);return;}console.log("文件写入成功");
})
文件路径模块-path

因为一般情况下:

window上的路径分隔可以用/或者\来分隔的,如:public\asstes\或public/asstes/。

liunx上的路径分隔都是用/来分隔的,不然就错了,如:public/asstes/。

获取相对路径
// 引入path模块
let path = require('path')
// path的join方法,可以根据系统自动将逗号分开的路径重组并返回 // 不过,此时返回的pathname路径是相对路径
let pathname = path.join('async','111.txt')
// pathname = async/111.txt 或者 async/111.txt
获取绝对路径

我们在使用路径时如果想使用绝对路径,可以使用__dirname这个变量。

__dirname:表示当前文件所在的绝对路径

// 引入path模块
let path = require('path')
// path的join方法,可以根据系统自动将逗号分开的路径重组并返回 // 不过,此时返回的pathname路径是相对路径
let pathname = path.join(__dirname,'async','111.txt')
// pathname = C://async/111.txt 或者 C://async/111.txt
第三方模块的使用

npmjs.com:第三方模块的存储和分发仓库(目前模块有80多万个第三方模块)

npm:node的第三方模块管理工具

下载模块:

npm install 模块名称

卸载模块:

npm uninstall package 模块名称
第三方模块-nrm

nrm:可以自动将国内可用下载镜像源列举出来

npm的默认下载源是国外,因此我们一般下载模块时会非常的慢,所以我们创建的项目需要使用npm下载依赖时,可以使用nrm先获取国内的镜像源,然后通过nrm来使用这些镜像源,具体方式如下:

# 下载nrm镜像源
npm install nrm -g
# 列举国内可用的镜像源
nrm ls
# 切换npm的下载源
nrm use 【镜像源名称】

当然,我们也可以使用npm的命令方式来切换:

# 查看当前的镜像源
npm config get registry
# 切换npm的镜像源
npm config set registry https://registry.npmmirror.com/
# https://registry.npmmirror.com/这是最新的淘宝镜像源,自己在网上找

http://www.mrgr.cn/news/11990.html

相关文章:

  • matlab实现梯度下降优化算法
  • SSRF漏洞实现
  • docker 镜像的制作
  • 深度学习学习经验——循环神经网络(RNN)
  • 奖学金盛宴,成就数字化人才 —— CDA 认证开学季奖学金活动盛大开启
  • 经验笔记:状态机与下推自动机的理解与应用场景
  • MySQL——连接查询(2)内连接
  • 搜狐新闻HarmonyOS Push开发实践
  • 电机启动对单片机重启的影响
  • 快速判断一个项目是Spring MVC框架还是Spring Boot框架
  • 大模型学习笔记 - LLM 之 LLaMA系列(待更新)
  • 学习记录:js算法(十六):四数之和
  • Apache CloudStack Official Document 翻译节选(八)
  • CodeQL 从零到精通第 3 部分:使用 CodeQL 进行安全研究
  • mysql中group by语句使用
  • CLPython,一个超牛的Python库
  • 【C#】【EXCEL】BumblebeeComponentsAnalysisGH_Ex_Ana_CondTopCount
  • string的模拟实现与深浅拷贝
  • JVM入门
  • react面试题八