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

Node.js 获取项目根目录


- b: C/ X+ V& _/ C, Z: y
获取node项目根目录.png
5 l3 O7 o$ T  r0 e+ e
# b  R4 p( n' M
介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。1 y8 G! U1 P0 {  u# y! ?/ A; G

; ]9 l$ M0 l3 ^. `1 y; g0 u3 `4 [4 S假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。$ S) s2 V6 p  n
. w( Z/ Q) E% [" E% e  W
获取node项目根目录1 q8 y& c- I; u) S( g1 ^
% V. l7 ]  e6 Q  x
在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。
7 G9 U  @0 L6 I% e( i- W
, `! v) f  M0 A2 J3 M; s8 o1 b# o1 L首先import path from 'path'; (ES6)或var path = require('path');
  b+ c" t% n9 e0 t  e& X
% d6 H) k& M- ?" H8 e% b7 mJavaScript
& T1 m9 t5 S/ ^4 @# y$ \
: k: R- E# p5 A& F' c7 A/ m
  1. path.join(__dirname,'../')
复制代码

# N. e/ @! y, X: l% x. ^8 I即可获取到node.js的项目根目录。
, m9 j+ g; g1 Z. U5 }: Y
- B- l7 z# e4 {$ E( x$ L2 U) a. X0 c/ n+ o2 L8 }$ s  V3 y" B4 S8 v  V3 ~
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码

7 \$ p' B; d# i  m即可获取目标文件。! f1 M6 l$ Z4 [2 Z# f

$ {9 K% C+ p& Q% r0 S, N由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。+ P9 Y3 M6 O" z* ?" g1 V: Z
3 h1 n1 H/ z- ]3 o
JavaScript! ^) k: U  B7 o* L
3 V1 }+ v: ~; M6 P, z2 g
  1. <p>' x2 l$ O* H' ~6 S! C' C
  2. </p><p>path.resolve(".")</p>
复制代码
& K& o7 ~! M# ~4 l4 u# C8 d/ @
也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。
* c. ]* ~" Q  m  x% R' q% S" V
* v  L1 B6 @' K- `+ U3 K
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

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

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

本版积分规则

美图秀

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

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

GMT+8, 2018-6-23 08:16 , Processed in 0.093931 second(s), 32 queries .

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

© 2015-2017 CMZ Inc.

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