【发布时间】:2016-06-26 01:47:28
【问题描述】:
我正在尝试构建一个本地 JS 模块库以在 Node 项目中使用。
如果一个新项目位于 /Users/me/projects/path/to/new/project/ 并且我的库文件位于 /Users/me/projects/library/*.js 中,有没有办法在不使用相对路径的情况下访问这些文件?
在/Users/me/projects/path/to/new/project/app.js 中,您可以像这样要求 foo.js:
var foo = require('../../../../../library/foo') 这会起作用,但它很笨重,如果文件移动,你必须更新你的相对路径。
我试过requireFrom 和app-module-path 都没有运气,因为它们是相对于项目根目录的。
关于如何从项目目录之外获取文件的任何想法?
提前致谢!
【问题讨论】:
-
"是否可以在没有相对路径的情况下从项目目录之外需要模块?" yes.
-
Billy Moon 的回答是正确的。尝试在 requirelib 函数中添加日志语句以查看正在解析的路径。
-
app-module-path 可以采用绝对路径。你试过
require('app-module-path').addPath('/Users/me/projects/library')
标签: javascript node.js gulp require