利用Node.js获取项目根目录的小技巧_node.js

假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。

实现功能

如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。

实现方法

在node.js只提供了一个 dirname全局变量。通过 dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path

首先

import path from 'path'; (ES6)或var path = require
(

'path '

);

path.join(dirname,'../')

即可获取到node.js的项目根目录。

path.join(dirname,'../app/img/favicon.ico')

即可获取目标文件。

由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')

path.resolve(".")

总结

也可以直接获取项目根目录,但是要注意的是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。大家留意下,有问题可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索nodejs
, node.js
, node
, 获取根目录
, 项目的根目录
获取项目根目录
nodejs获取项目根目录、nodejs 获取根目录、node 获取项目根目录、node 获取根目录、nodejs获取应用根目录,以便于您获取更多的相关知识。

时间: 2024-10-23 15:48:40

利用Node.js获取项目根目录的小技巧_node.js的相关文章

asp.net编程获取项目根目录实现方法集合_实用技巧

本文实例总结了asp.net编程获取项目根目录实现方法.分享给大家供大家参考,具体如下: 编写程序的时候,经常需要用的项目根目录.自己总结如下 1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法2.AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集 2.取得Web应用程序的根目录方法 方法1.HttpRuntime.AppDoma

js获取form的方法_javascript技巧

本文实例讲述了js获取form的方法.分享给大家供大家参考.具体如下: 先来看下面代码: <html> <head> <scirpy> window.onload=function(){ var f1=document.f1; var f2=document.forms[1]; alert(f2.id); var f3=document.forms['f1']; } </script> </head> <body> <form

获取QQ邮箱的小技巧

获取http://www.aliyun.com/zixun/aggregation/6880.html">QQ邮箱的小技巧 搜集QQ邮箱是件简单的事,在QQ城市达人中有很多,如果觉得逐个Copy太麻烦,用爱博QQ邮箱搜索机按照条件,批量拽下来,如图一所示:或者去百度搜些相关的QQ群体,然后加进群后就把群通讯录那里把QQ号给全部拷贝下来,加个@qq.com就可以成为一个有效邮箱地址.发个邮件过去,还会有邮件接收提示,好用得不得了. 可是,当大家发现自己的QQ邮箱时不时会收到些垃圾邮件时,你是

javascript-一道js的题,(小白刚接触js很多不太懂。)

问题描述 一道js的题,(小白刚接触js很多不太懂.) function a(x){ var b=3; return function(y){ return x+y+(++b); } } var ac = a(10); var b = ac(10); var c = ac(10); 求 b c的值? 求高手详解. 解决方案 结果24 25 x没有值 b是闭包变量,所以第一次的累加会被保留. 解决方案二: JS的一道题 解决方案三: 结果分别是:24.25

Node.js实现JS文件合并小工具_node.js

临近春节,项目结束了,没事情做,于是就想学学node.js,之前写了一个是为了实验室项目的需要,用c#写了个js代码压缩合并的小插件,后来想到可以用node重构,于是就练练手吧,下面小编直接给大家上代码了. 代码如下所示: /*符合CommonJs规范*/ var writePath = 'min.js',/*默认输出到本目录min.js文件里*/ fs = require('fs'), r1 = /^(.+)$/mg,/*分行*/ r2 = /\s{2,}/g,/*去空格*/ r3 = /([

简单模拟node.js中require的加载机制_node.js

一.先了解一下,nodejs中require的加载机制 1.require的加载文件顺序 require 加载文件时可以省略扩展名:           require('./module');      // 此时文件按 JS 文件执行           require('./module.js');      // 此时文件按 JSON 文件解析           require('./module.json');      // 此时文件预编译好的 C++ 模块执行          

Node.js Streams文件读写操作详解_node.js

Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务.如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream).因此,我们先具体看看流,理解一下它们是怎么简化 I/O 操作的吧.  流是什么流是 unix 管道,让你可以很容易地从数据源读取数据,然后流向另一个目的地. 简单来说,流不是什么特别的东西,它只是一个实现了一些方法的 EventEmitter .根据它实现的方法,流可以变成可读流(Readable),可写流(Writable),或者双向

Node.js中的模块机制学习笔记_node.js

Javascript自诞生以来,曾经没有人拿它当做一门编程语言.在Web 1.0时代,这种脚本语言主要被用来做表单验证和网页特效.直到Web 2.0时代,前端工程师利用它大大提升了网页上的用户体验,JS才被广泛重视起来.在JS逐渐流行的过程中,它大致经历了工具类库.组件库.前端框架.前端应用的变迁.Javascript先天就缺乏一项功能:模块,而CommonJS规范的出现则弥补了这一缺陷.本文将介绍CommonJS规范及Node的模块机制. 在其他高级语言中,Java有类文件,Python有im

优化Node.js Web应用运行速度的10个技巧_node.js

Node.js 受益于它的事件驱动和异步的特征,已经很快了.但是,在现代网络中只是快是不行的.如果你打算用 Node.js 开发你的下一个Web 应用的话,那么你就应该无所不用其极,让你的应用更快,异常的快.本文将介绍 10 条,经过检验得知可大大提高 Node 应用的技巧.废话不多说,让我们逐条来看看. 1. 并行 创建 Web 应用的时候,你可能要多次调用内部 API 来获取各种数据.比如说,假设在 Dashboard 页面上,你要执行下面这几个调用: 用户信息 -getUserProfil