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

Node.js 获取项目根目录


4 `. u( c# B0 @4 r
获取node项目根目录.png
3 ?2 p7 d+ S$ Z# N/ Q

& R' n9 _3 L4 Q! u1 E; K介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。
7 `! }% ?; F  G6 ^6 ]: i
) g4 E$ }2 t# r* W5 w0 L假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。
, `( e3 h( Z1 R+ g2 X. W* D3 D# s. H; Q6 J; F# Z4 w6 i" P- p
获取node项目根目录6 J& T% E# g  S; Z$ a* F/ U

3 N  L( E4 T5 \0 |: R: j在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。7 `. f* w, z$ U+ ]
9 `$ N2 M/ R( O) T
首先import path from 'path'; (ES6)或var path = require('path');
4 a& J( s, y; p) ~. h/ N* ~8 S$ n$ n* ?3 C5 z/ J" _2 m9 z
JavaScript
( y8 x; P* x  K0 I6 j+ n+ _( }0 V" L/ f6 Z% v
  1. path.join(__dirname,'../')
复制代码

( X% `% e# d7 O6 f即可获取到node.js的项目根目录。
0 w3 _/ B! e) O8 c9 h+ x1 ^4 G! U, l" m2 F$ _2 J8 k0 w5 ~

, I$ ~* B7 C' R- j8 O
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码

& L! q; u2 z9 x7 ^. X' d0 `即可获取目标文件。
- k6 f7 s1 _4 N" s, u! x1 {& r4 z/ l0 A4 o3 x. w/ h+ Y1 R' {" w+ I
由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。
0 @! b  N& X8 l9 e- f8 L
! m/ J, G3 c; C- P9 D2 gJavaScript4 r0 Y$ ?8 ^) o4 N( z0 f
6 V- a; f: n- F6 _
  1. <p>
    1 |  Z2 O, u$ \: j4 u: d/ c4 m
  2. </p><p>path.resolve(".")</p>
复制代码
3 F% @- j- q/ X1 a8 v" ]
也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。
, Q& Q8 h$ M! Q0 ]  Z9 L; |. b6 `9 D" f4 Z% ?7 m
, X% i' Z0 ^- ]4 s& z: o
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

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

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

本版积分规则

美图秀

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

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

GMT+8, 2018-10-22 20:51 , Processed in 0.088231 second(s), 32 queries .

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

© 2015-2017 CMZ Inc.

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