`
zhouyrt
  • 浏览: 1172387 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

NodeJS记录(二)

    博客分类:
  • Node
 
阅读更多

以下是在到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
分享到:
评论
1 楼 macrotea 2012-07-02  
学习了 

相关推荐

    linux-使用shell脚本和nodejs记录和显示speedtest

    在"linux-使用shell脚本和nodejs记录和显示speedtest"这个项目中,shell脚本可能被用来定期调用speedtest-cli工具,这是一个命令行版本的speedtest工具,能够测量上传、下载速度和延迟。 以下是一个简单的shell脚本...

    nodejs实战第二季

    - **监控与日志**:建立完善的监控体系和日志记录机制,及时发现并解决问题。 以上就是Node.js实战第二季的相关知识点概述,希望能对学习Node.js的朋友们有所帮助。在实际开发过程中,还需要不断积累经验、优化代码...

    nodejs-demo改进版

    7. **日志记录**: 可能还涉及到了日志记录,以便调试和监控应用状态。 总的来说,"nodejs-demo2" 是一个适合初学者的 Node.js 入门示例,通过它,你可以学习到 Node.js 的基本概念和常用操作,为进一步深入学习和...

    logger-nodejs:使用Node.js记录API请求和响应

    resurfaceio-logger-nodejs 轻松记录API请求和对您自己响应。 内容 依存关系 需要Node.js 10.x或更高版本。 没有其他与您的应用程序冲突的依赖项。 使用npm安装 npm install resurfaceio-logger --save 从Express...

    nodejs 客户端音乐播放器

    在命令行中输入`npm init`可以创建一个`package.json`文件,用于记录项目信息和依赖。然后,你可以通过`npm install <package-name>`命令安装特定的模块。 ### 音乐播放模块 在描述中提到了"音乐播放模块",这通常...

    nodejs-logger:NodeJS的记录器类

    NodeJS记录器 记录工具(有颜色) 例子 新记录仪 var Logger = require ( 'logger' ) ; var logger = new Logger ( 'INFO' , '/var/log/logger.log' ) ; 日志级别 logger . log ( 'DEBUG' , 'This is a debug ...

    基于nodejs麻将服务端

    8. **错误处理与日志记录**:良好的错误处理和日志系统对于诊断和修复问题至关重要。开发者可能使用了如Winston或Morgan等日志库来记录服务器的运行情况。 9. **模块化**:Node.js推崇模块化编程,通过`require`和`...

    【JavaScript源代码】nodejs的错误处理过程记录.docx

    3. **错误日志记录**:对于所有捕获的错误,都应该记录下来以便后续诊断。 4. **优雅关闭**:处理完错误后,确保所有打开的资源都能够被正确关闭,以防止资源泄露。 通过以上步骤,我们可以更加深入地理解Node.js中...

    NodeJS入门项目案例(Express+Mysql)

    在Express应用中,你可以使用内置的中间件或者第三方中间件来处理特定的任务,如日志记录、错误处理或身份验证。例如,`body-parser`中间件用于解析请求体中的JSON或表单数据,这对于处理POST请求非常有用。 项目中...

    NodeJS基础API搭建服务器详细过程记录

    在习惯了使用express框架,jade模板引擎等现成工具来写代码之后,很多人对于基本的NodeJS API会慢慢生疏。本文将以一个超小型web项目,来详细介绍如何使用NodeJS基础的http, fs, path, url等模块提供的API来搭建一个...

    毕业设计,基于Vue+NodeJS+Express+MongoDb开发的在线考试系统,内含NodeJS完整源代码,数据库脚本

    学生也可以查询自己的考试记录和错题记录进行练习。除了考试系统,学生和可以和老师和同学之间交流讨论,发布动态信息,提出问题大家一起解决等,也算一个相互学习讨论的平台。管理员登录后可以管理所有的学生和老师...

    nodejs-10.12.0版本下载

    "nodejs10120"可能是指Node.js 10.12.0的安装程序或者二进制文件,用户可以通过运行这个文件在本地计算机上安装Node.js的这个版本。 总之,Node.js 10.12.0是Node.js发展中的一个重要里程碑,它为开发者带来了更好...

    Nodejs心跳包(二)监控elasticsearch服务器状态

    在“Nodejs心跳包(二)监控elasticsearch服务器状态”这个主题中,我们将深入探讨如何使用Node.js编写一个简单的程序来监控Elasticsearch服务器的状态。首先,我们需要安装`elasticsearch`库,这是Node.js与Elastic...

    nodeJs练习项目 结构简洁 注释全面

    这个"nodeJs练习项目 结构简洁 注释全面"是一个专门为初学者或希望提升Node.js技能的人设计的实践项目。它涵盖了Node.js的基础知识,包括创建服务器、处理HTTP请求以及静态文件服务等核心概念。 项目的目标是实现一...

    nodejs mysql 实现分页的方法

    除了上述基本的分页逻辑,我们还可以根据需要添加一些高级分页功能,比如记录总数据量,从而动态计算总页数,或者添加前后页的跳转功能,提高用户的操作便捷性。 需要特别注意的是,虽然分页查询能够提高性能和用户...

    nodejs上传下载管理文件

    这个"nodejs上传下载管理文件"项目很可能是构建一个Web应用,用于处理用户文件的上传和下载功能。在Node.js中实现这样的功能,我们需要掌握以下几个核心知识点: 1. **Express框架**:Node.js中广泛使用的Web应用...

    NodeJsProject.zip

    - 数据存储:项目可能使用MySQL作为后端数据库,用于存储用户信息、数据记录等。 - `mysql`模块:Node.js中的`mysql`库用于与MySQL服务器交互,执行SQL查询和事务处理。 - ORM(对象关系映射):可能使用...

    nodejs完整安装教程(带软件)

    **二、安装前准备** 在开始安装Node.js之前,确保你的计算机满足以下基本要求: 1. 对于Windows系统,至少需要Windows 7或更高版本。 2. macOS用户应确保拥有最新版本的Xcode Command Line Tools。 3. Linux用户需...

    hyperledger fabric nodejs

    在这个项目中,"nodejs"目录下的样本提供了使用Node.js开发Fabric应用的参考。 4. **核心文件解析**: - **app.js**:这是Node.js应用程序的主要入口文件,通常包含启动服务器、定义路由和处理请求的代码。 - **...

    Nodejs操作Sqlite3数据库封装

    1. `run(sql, [params], [callback])`:执行SQL,返回一个Promise对象,用于单条记录的插入、更新或删除操作。 2. `get(sql, [params], [callback])`:执行SQL并获取第一条结果,返回一个Promise对象,适用于查询...

Global site tag (gtag.js) - Google Analytics