公司最近在整前后端分离,本人对 NodeJS 并不是太了解,本人是后端的。
在整理前端应用框架的时候(基于Express),碰到一个很简单问题,具体问题如下:
我在项目根目录下新建了一个 lib 文件夹,这个文件夹中有很多自己的模块。问题来了,怎么把这些自己的模块其它模块里去?
有没有方便的引入方法?比如:
js
var config = require('lib/config'); var util = require('lib/util');
像 require
node_modules中的模块一样方便的方法。
js
var fs = require('fs');
有没有变通的解决方法,能方便引入,因为后面考虑做业务模块化,很多模块层级可能比较深,这样的话,相对路径依赖应该不太合适吧?
一些点:
__dirname
作为起始路径。参见module的算法解释process.cwd()
作为起始路径。参见fs的文档如果LZ问的是如何定位项目根目录,并有一个通用引用方式的话,有两种常见的做法。
1
app.js
module.js
2
module.js
第一个鲁棒性更强。app.js所在的
__dirname
是一个绝对路径地址,而process.cwd()
(或者路径串中的.
暗示的路径)则有可能变化。