Node.JS学习笔记

Node.JS笔记

1.Node.JS是什么?

Node.js 就是运行在服务端的 JavaScript

  • 运行在浏览器上的js代码就是前端开发
  • 运行在Node.js环境上的就是后端开发

学习路径

  • js基础语法+常用内置api接口(fs、path、http)+第三方库(express、mysql)

2.Node.JS环境安装

官网下载地址安装LTS版本就好。建议用安装包,而不是二进制文件,二进制文件安装我调了半天的环境,md最后还是用的安装包。

我不喜欢将东西按到c盘,安装地址换别的盘了,所以需要进行环境配置。参考教程

2.1环境配置

2.1.1Node.JS的配置

  1. 安装包过程就改个安装地址,剩下一直next。

  2. 输入node -v如果显示版本号就安装成功。真的建议直接使用安装包,压缩包安装我弄了半天,命令依然没法用

  3. 在nodejs的安装目录下新建“node_global”与“node_cache”文件夹。

  4. 设置全局目录和缓存目录,cmd下输入npm config set prefix "node_global地址"

    npm config set cache "node_cache地址"

    image-20220628184900425

  5. 设置环境变量,新建NODE_JS_PATH变量,值设置为node_modules的地址。image-20220628185127892

    path环境变量增加一个node_global地址image-20220628185306537。path还有添加一个nodejs安装路径image-20220628213923886

2.1.2Vs Code配置nodejs环境

我还是觉得用终端运行js好麻烦,所以还是用vs code吧!

其实挺简单,打开launch.json,点击添加配置nodejs,就行了。

因为vscode我还配置了c/c++环境,所以它们有冲突,然后我弄了半天,发现不要launch.json只有taskjson能运行,而且不冲突。也挺好。

2.1.3WebStorm安装

额,vscode的代码补全我弄了好久,依然不好使,还找不到解决办法。所以我换webstorm破解版了。百度云下载

用法很简单,先安装webstorm,再直接打开,随便创建一个文件,把插件(zip压缩包)拖入到webstorm中,然后会显示

再点help->Eval Reset

2.1.4webstorm无法正常处理解决require

md我就是为了解决这个问题才换的ide,vscode我没找到能解决这个问题的方法,webstorm有解决的方法。参考攻略。require文件在webstorm破解版百度云中附带了。

我好像找到问题出哪了,不需要添加什么require文件

就是把划红线的选项选上。

intellij全家桶真不错

3.fs模块

3.1fs模块的导入

const fs = require('fs');为什么我VS code的代码提示不太好使呢,require没提示

3.1.2fs模块的使用

const fs = require("fs");
读取文件
fs.readFile("./commen.txt",function (err,data) {
    if(err) {
        return console.log("打开错误!" + err.message);
    }
    console.log("打开成功");
})
写入文件
fs.writeFile("./commen.txt","test",function (err) {
    if(err) {
        return console.log("写入失败!" + err.message);
    }
    console.log("写入成功!");
})

在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径拼接错误的问题。

代码在运行时,会以执行node命令的所在目录,动态拼接出被操作文件的完整路径,所以可能拼出来的路径是不对的。

感觉是解释型语言的问题,编译型语言编译完后应该只以运行程序的路径为准,所以没这个问题

解决办法

  • 绝对路径

    但绝对路径可移植性差,不好。

  • __dirname + 相对路径 = 绝对路径(__dirname表示当前文件所在目录)

    既有相对的优点,又没有相对路径的问题

const fs = require("fs");
fs.readFile(  __dirname + "\\commen.txt",function (err,data) {
    if(err) {
        return console.log("打开错误!" + err.message);
    }
    console.log("打开成功");
})

console.log("路径" + __dirname)

image-20220630110947124

4.path模块

4.1path模块的导入

const path = require("path")

4.2path模块使用

4.2.1path.join()

const path = require("path")
console.log("路径1" + path.join(__dirname , "//commen.txt"));
console.log("路径2" +path.join(__dirname ,"/commen.txt"));
console.log("路径3" +path.join(__dirname , ".//commen.txt"));
console.log("路径4" +path.join(__dirname , "./" , "/commen.txt"));
console.log("路径5" +path.join(__dirname , "../" , "/commen.txt"));
console.log("路径6" +path.join(__dirname , "\\commen.txt"));
console.log("路径7" + path.join(__dirname , "commen.txt"));
console.log("路径8" + __dirname + "commen.txt")

image-20220630121601903

显然比直接字符串相加好用多了,怎么都能拼出对的路径。值得注意的是“../”能抵消一个路径(路径5)。

4.2.2path.basename()

const path = require("path")
console.log(path.basename("F:\\WebStorm_Project\\test\\commen.txt"))
console.log(path.basename("F:\\WebStorm_Project\\test\\commen.txt",".txt"))

image-20220630122825183

第一个参数是路径名,第二个参数可选,是文件后缀名,加上就去掉后缀名。

4.2.3path.extname()

const path = require("path");
console.log(path.extname("F:\\WebStorm_Project\\test\\commen.txt"));

输出.txt

获取文件后缀名,参数是路径。

感觉模块比较简单以后笔记就不写了,挑重要的记。

为了学校企业实践学的nodejs感觉不需要这么细或者之后再学

posted @   永汉  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
// 侧边栏目录/
点击右上角即可分享
微信分享提示