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

Node.js 获取项目根目录

; }8 M& `1 {  F3 ?! N
获取node项目根目录.png

% K0 p7 e2 |, a$ c/ M6 {
' `' T5 i) u1 m5 n1 V4 s介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。% n# U$ f  g, p4 d0 r8 u! w

1 t  T9 f4 w! R2 Z% j假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。$ I1 x$ L/ j3 i- A% N

- l- j. ?9 q5 n: z5 e获取node项目根目录
9 E9 s/ H* ^5 h, M# u) i* o5 ^
; h# K; U7 M9 v- V  K6 g在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。
! L6 ^( B( r' I( E9 K
" v" Y/ J' v4 M5 Y3 f0 o首先import path from 'path'; (ES6)或var path = require('path');. d4 V* a. d/ @; n1 x5 t
2 _- O1 Q# z/ [1 |7 G) M) \
JavaScript8 J4 ^% L' A. U  ~3 n& u, i+ {  P! v/ [, f
1 q$ D7 y* J9 W2 _6 V+ f7 w- D
  1. path.join(__dirname,'../')
复制代码
) m( ~1 g4 C7 B" S3 P( Z0 s
即可获取到node.js的项目根目录。  `2 Y# N9 \$ g% G$ b. k4 p

4 w" b! |! |# D  S$ a% t' l9 h4 Q' h1 R$ s7 S
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码
/ S2 P3 o1 y. _9 q1 c5 i
即可获取目标文件。
7 R( s. [+ q2 B0 V) Q, q! r2 N6 |2 o& }7 A
由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。
! e! \3 C# S0 ^$ r* B5 u* J/ X  u' t& h
JavaScript) `9 H% \! L' [

$ N, O" W3 F- G& |
  1. <p>5 [5 y. Q+ v) @1 h! a
  2. </p><p>path.resolve(".")</p>
复制代码

" H. A6 p* J( y1 p也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。6 B* ^: Z$ k# |

4 H$ X- c- [/ b% C9 @6 `' Q
: ^/ ], V4 @8 D7 n2 x
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

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

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

本版积分规则

美图秀

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

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

GMT+8, 2018-10-18 15:24 , Processed in 0.080965 second(s), 32 queries .

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

© 2015-2017 CMZ Inc.

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