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

Node.js 获取项目根目录


# V9 a& @3 u, W2 ~
获取node项目根目录.png
! v7 k: D# P/ S4 F

% ^8 z/ Z; ]" H1 h0 ^3 {介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。; p% A, L$ V8 j% l' e( J. ~
+ i) [" U: g5 k
假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。
/ z8 s- N& t4 X  n! x# z# A4 h- T1 w* A
获取node项目根目录
- B  H, q# X! j: ^
/ B/ ]  M* |) R& R) r! H& M7 [在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。
) T1 z% s( j) N# P
8 i0 R  ?, M4 R) k5 |& V. `1 T首先import path from 'path'; (ES6)或var path = require('path');+ U( z2 z. Y2 ^" g6 l! R" {' f

, l0 K0 d' G0 k& l2 zJavaScript7 Q% }/ d6 Z9 s$ A
5 ~( k3 {/ w. Q- N* o) ]( e% {( m/ K
  1. path.join(__dirname,'../')
复制代码

! H& c4 ^' G/ m: s5 e. {1 ]: Z( i* I即可获取到node.js的项目根目录。3 X9 U( A3 a5 P* B1 r
5 ]5 b$ K# f$ ]1 K$ m
" F- }# \# k/ E1 C
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码
# U; f0 B$ W6 S" |$ A
即可获取目标文件。7 P  L" W3 C- x  G% B

5 z4 C6 V/ B1 ^+ B由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。
- k3 V- c* B3 t" f
7 b( v# \+ [' c; d. a2 R( ]: jJavaScript- e6 }0 s/ k" R

: L  ?+ t' `4 W3 R& ]/ T0 H
  1. <p>
      L8 g) U8 v. V6 e) n* x  s
  2. </p><p>path.resolve(".")</p>
复制代码
5 b+ H0 e+ c/ j2 l: ?/ E9 v
也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。, @8 P1 O" K4 y/ x( a3 {- {- a

1 m3 v; u! P( K7 s: u; ^& g: h5 x, ?4 L) z3 a0 v
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

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

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

本版积分规则

美图秀

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

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

GMT+8, 2018-2-21 15:30 , Processed in 0.075793 second(s), 32 queries .

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

© 2015-2017 CMZ Inc.

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