以下是在到r.js的build/jslib/build.js和build/jslib/node/file.js时碰到的node相关知识点。
一、获取当前执行js文件的真实路径
node中使用fs模块的fs.realpathSync方法。如目录C:\node\b.js,b.js内容如下
var fs = require('fs');
// 点号表示当前文件所在路径
var str = fs.realpathSync('.');
console.log(str);
执行b.js文件,控制台输出如下
有时我们需要将realpathSync返回的路径中的反斜杠转成正斜杠,r.js的file.js中添加了一个函数
function frontSlash(path) {
return path.replace(/\\/g, '/');
}
二、将路径字符串标准化
使用node的path模块normalize方法可以将路径标准化,如多个斜杠只保留一个。
var path = require('path');
// bar后有两个斜杠
var str = path.normalize('/foo/bar//baz');
// 格式化后只保留一个
console.log(str);
需要注意“..”和“.”。斜杠后加一个点“.”没有意义可以删除,如以下str1和str2是等价的
var path = require('path');
var str1 = path.normalize('/foo/bar/baz');
var str2 = path.normalize('/foo/bar/baz/.');
console.log(str1);
console.log(str2);
两个点“..”会返回上一级目录,如
var path = require('path');
var str1 = path.normalize('/foo/bar/baz');
var str2 = path.normalize('/foo/bar/baz/..');
console.log(str1);
console.log(str2);
执行后结果如下
以上截图可看出路径输出的都是反斜杠。需要注意下,windows中输出的路径是反斜杠,linux中是正斜杠。
- 大小: 487 Bytes
- 大小: 701 Bytes
分享到:
相关推荐
在"linux-使用shell脚本和nodejs记录和显示speedtest"这个项目中,shell脚本可能被用来定期调用speedtest-cli工具,这是一个命令行版本的speedtest工具,能够测量上传、下载速度和延迟。 以下是一个简单的shell脚本...
- **监控与日志**:建立完善的监控体系和日志记录机制,及时发现并解决问题。 以上就是Node.js实战第二季的相关知识点概述,希望能对学习Node.js的朋友们有所帮助。在实际开发过程中,还需要不断积累经验、优化代码...
7. **日志记录**: 可能还涉及到了日志记录,以便调试和监控应用状态。 总的来说,"nodejs-demo2" 是一个适合初学者的 Node.js 入门示例,通过它,你可以学习到 Node.js 的基本概念和常用操作,为进一步深入学习和...
resurfaceio-logger-nodejs 轻松记录API请求和对您自己响应。 内容 依存关系 需要Node.js 10.x或更高版本。 没有其他与您的应用程序冲突的依赖项。 使用npm安装 npm install resurfaceio-logger --save 从Express...
在命令行中输入`npm init`可以创建一个`package.json`文件,用于记录项目信息和依赖。然后,你可以通过`npm install <package-name>`命令安装特定的模块。 ### 音乐播放模块 在描述中提到了"音乐播放模块",这通常...
NodeJS记录器 记录工具(有颜色) 例子 新记录仪 var Logger = require ( 'logger' ) ; var logger = new Logger ( 'INFO' , '/var/log/logger.log' ) ; 日志级别 logger . log ( 'DEBUG' , 'This is a debug ...
8. **错误处理与日志记录**:良好的错误处理和日志系统对于诊断和修复问题至关重要。开发者可能使用了如Winston或Morgan等日志库来记录服务器的运行情况。 9. **模块化**:Node.js推崇模块化编程,通过`require`和`...
3. **错误日志记录**:对于所有捕获的错误,都应该记录下来以便后续诊断。 4. **优雅关闭**:处理完错误后,确保所有打开的资源都能够被正确关闭,以防止资源泄露。 通过以上步骤,我们可以更加深入地理解Node.js中...
在Express应用中,你可以使用内置的中间件或者第三方中间件来处理特定的任务,如日志记录、错误处理或身份验证。例如,`body-parser`中间件用于解析请求体中的JSON或表单数据,这对于处理POST请求非常有用。 项目中...
在习惯了使用express框架,jade模板引擎等现成工具来写代码之后,很多人对于基本的NodeJS API会慢慢生疏。本文将以一个超小型web项目,来详细介绍如何使用NodeJS基础的http, fs, path, url等模块提供的API来搭建一个...
"nodejs10120"可能是指Node.js 10.12.0的安装程序或者二进制文件,用户可以通过运行这个文件在本地计算机上安装Node.js的这个版本。 总之,Node.js 10.12.0是Node.js发展中的一个重要里程碑,它为开发者带来了更好...
在“Nodejs心跳包(二)监控elasticsearch服务器状态”这个主题中,我们将深入探讨如何使用Node.js编写一个简单的程序来监控Elasticsearch服务器的状态。首先,我们需要安装`elasticsearch`库,这是Node.js与Elastic...
这个"nodeJs练习项目 结构简洁 注释全面"是一个专门为初学者或希望提升Node.js技能的人设计的实践项目。它涵盖了Node.js的基础知识,包括创建服务器、处理HTTP请求以及静态文件服务等核心概念。 项目的目标是实现一...
除了上述基本的分页逻辑,我们还可以根据需要添加一些高级分页功能,比如记录总数据量,从而动态计算总页数,或者添加前后页的跳转功能,提高用户的操作便捷性。 需要特别注意的是,虽然分页查询能够提高性能和用户...
这个"nodejs上传下载管理文件"项目很可能是构建一个Web应用,用于处理用户文件的上传和下载功能。在Node.js中实现这样的功能,我们需要掌握以下几个核心知识点: 1. **Express框架**:Node.js中广泛使用的Web应用...
- 数据存储:项目可能使用MySQL作为后端数据库,用于存储用户信息、数据记录等。 - `mysql`模块:Node.js中的`mysql`库用于与MySQL服务器交互,执行SQL查询和事务处理。 - ORM(对象关系映射):可能使用...
**二、安装前准备** 在开始安装Node.js之前,确保你的计算机满足以下基本要求: 1. 对于Windows系统,至少需要Windows 7或更高版本。 2. macOS用户应确保拥有最新版本的Xcode Command Line Tools。 3. Linux用户需...
在这个项目中,"nodejs"目录下的样本提供了使用Node.js开发Fabric应用的参考。 4. **核心文件解析**: - **app.js**:这是Node.js应用程序的主要入口文件,通常包含启动服务器、定义路由和处理请求的代码。 - **...
学生也可以查询自己的考试记录和错题记录进行练习。除了考试系统,学生和可以和老师和同学之间交流讨论,发布动态信息,提出问题大家一起解决等,也算一个相互学习讨论的平台。管理员登录后可以管理所有的学生和老师...
在这个“nodejs开发电商服务器端”项目中,我们将探讨如何利用Node.js来搭建一个支持微信小程序的电商平台后端。 首先,我们需要了解Node.js的基础知识,包括模块系统(如CommonJS或ES6的import/export)、Express...