加入我们 登录
 找回密码
 加入我们
搜索

Node.js 获取项目根目录

: c4 Z/ X* L, w
获取node项目根目录.png

/ m" f, L8 L4 F
4 f* l0 e& k3 d4 J( {介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。
' B0 m7 d. w" v+ c% W  M0 q+ Y- @) i: [/ d
假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。3 X4 l" f8 [" w' }
% h# ^. P2 Y( h+ ]
获取node项目根目录, O* f, X' G/ s' Y

- t5 N. _8 b% u# ]0 {% ?% k4 m在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。
- a# K- J% |+ a( L$ I- I4 C9 r) V+ [/ g" w3 h4 d
首先import path from 'path'; (ES6)或var path = require('path');
; m  a' A6 J9 f) a1 u9 _$ Y; }6 b+ _& G( h7 t
JavaScript
5 J' O6 I8 z4 e1 P+ i: N- q
' h9 S, Y" f9 W4 s4 }7 Y* u" S7 J
  1. path.join(__dirname,'../')
复制代码
6 {- [2 M4 j1 m4 R: p
即可获取到node.js的项目根目录。( q/ C- R8 K- Y+ O% q5 ?6 o

  ?6 J* q) o) P' J" s- {7 U" _& `" s  S
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码
# b, x$ d5 l8 \' V- r
即可获取目标文件。" ^& k; \  Q- W3 q7 Q7 w- J

) a  o' m% `: F3 j/ D1 z由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。. U3 Z4 N# J: y9 Z/ }6 c  g- V
7 x, X8 v# ~( {# I
JavaScript; z7 I' a9 I( s7 ]

+ ^% w, L+ Y/ K% M: s* k- P  u0 b
  1. <p>
    1 l" W% O. C: E3 `
  2. </p><p>path.resolve(".")</p>
复制代码

  m- M: k. B. A; f" y# a也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。
1 }; R3 q  r8 V  G  _
1 C" U5 t( _! `0 B1 y* m- y9 \7 e3 T- n, I
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

回复 | 支持 2 | 反对 0 使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

美图秀

    • Javascript精品教程(总贴)
    • Node.js 获取项目根目录
    • 机械键盘改灯 无灯位键盘加灯教程
    • 【晒桌面】 且看“设计狗” 乱入科技界
    • keil 使用printf函数输出打印结果

关于我们|Archiver|手机版|小黑屋|创梦者-与梦想者共创未来 ( 晋ICP备13003410号 )

GMT+8, 2019-4-20 00:42 , Processed in 0.097349 second(s), 32 queries .

本站由: 腾讯云 提供云服务器 Discuz! 提供后端支持

© 2015-2017 CMZ Inc.

快速回复 返回顶部 返回列表