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

Node.js 获取项目根目录

$ V3 s* i( y: x& K* z9 q
获取node项目根目录.png
4 {: y9 a4 O8 \; J" R

/ [- v+ @' J1 J3 Z介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。4 j5 H3 j+ a8 Z

' R. q7 e% p$ F7 i; x9 Q& O+ u假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。
$ J) f% f9 c* f. _; Y! c( u3 c
6 o& b4 j' f2 H+ O* q: M/ D  o3 M获取node项目根目录
# T: K; A; ^, j$ P7 v- G% Z8 K2 F3 r4 B; J5 }) C
在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。
3 H) u% S) o2 V0 S# j/ K5 r2 z! p7 L( j5 A# X3 {# R9 H  ~: a- D
首先import path from 'path'; (ES6)或var path = require('path');# J' ~" y1 d+ z+ U
. U# w1 w5 ?  }" e9 Z( v
JavaScript0 `! H7 |7 u+ z- J5 @0 G" T
- z3 M, m+ }8 t- p" q9 {
  1. path.join(__dirname,'../')
复制代码
6 ]' J" h! O9 |; W/ M
即可获取到node.js的项目根目录。- b0 N5 w) W; ^% c$ |+ o

0 a* D. e1 u  Y  a: ~6 S
" A/ k8 s0 Z0 d5 c* w7 U
  1. path.join(__dirname,'../app/img/favicon.ico')
复制代码
3 ]- }& Y& l) U; n
即可获取目标文件。
% @: i* ]$ V4 G* L2 N) k# z. U6 Q% H6 o# ~6 c3 X8 l; H
由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。4 r! K  v7 _3 O
( i1 p# x) a  E
JavaScript
4 n6 X8 x2 `) i  e( N5 z
# F# o- {& }( [6 f4 v' [
  1. <p>& H2 t8 X" [8 P
  2. </p><p>path.resolve(".")</p>
复制代码
! _$ v' a, @" n! p
也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。
( }- Q% Q$ ]6 w$ d: C$ P2 G% G2 T! m4 B$ F
5 E3 L  i* P& G  U
该帖共收到 1 条回复!
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2017-9-22 16:23:15 | 显示全部楼层

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

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

本版积分规则

美图秀

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

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

GMT+8, 2019-2-21 22:03 , Processed in 0.204401 second(s), 32 queries .

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

© 2015-2017 CMZ Inc.

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