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

Node.js 获取项目根目录

, B0 U1 R, C7 D8 m
获取node项目根目录.png

' c% _: f" i6 i4 L7 c( Z6 y+ l* _% U5 `2 P8 b% F/ Y& q
介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。- f6 M: j; e0 i9 u5 g" P

& L+ p* k4 m, ]/ y假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。
/ n' r, [( D' q0 N, Z" C' [1 @
! M8 o1 N) N3 o0 U( v5 f2 m& r9 Q获取node项目根目录& W. u% }2 f. C# r, a

; _5 i0 `0 D. h0 }在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。3 }) w! r/ V+ \  o; K# G0 o& d6 Q

' F" G7 @3 t; z首先import path from 'path'; (ES6)或var path = require('path');5 |7 ?9 j4 W/ X3 F+ Z
+ b! d+ ^$ Q- [& t  Q+ E
JavaScript
' {! l/ Y7 L7 Z, U7 X; @  L  w& X( D1 b! T* v
  1. path.join(__dirname,'../')
复制代码

  R% R5 o; C, c3 s: R即可获取到node.js的项目根目录。
6 ~/ r' \0 C5 _( x' U; R+ I; C3 ~
3 k1 l+ [! D& h( V0 p
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码
" c% a/ ~8 X7 E
即可获取目标文件。2 s4 `% a/ V, [8 h2 a% t3 x

: T- f; k/ o/ K由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。
. N/ i6 z  t% g4 P) z, J; A# V. A+ _9 e/ ?9 f& x
JavaScript4 s$ C! B9 ]7 W, L
) ~0 H) B' x/ w# G4 G3 E
  1. <p>& t2 D, B. H$ D$ Z
  2. </p><p>path.resolve(".")</p>
复制代码
+ e1 o& k3 }% x- {  s
也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。$ g1 G+ k! u. d- L6 C% X4 b1 o% m
  x1 ]) _, l, n" R/ |+ ^

( [3 _4 X" P4 Q8 ]: E% q3 F
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

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

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

本版积分规则

美图秀

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

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

GMT+8, 2018-8-21 17:59 , Processed in 0.093967 second(s), 42 queries .

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

© 2015-2017 CMZ Inc.

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