javascript - 是否可以在没有相对路径的情况下从项目目录外部请求模块?

标签 javascript node.js gulp require

我正在尝试构建一个本地 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') 这可以工作,但很笨重,如果文件移动你会必须更新您的相对路径。

我已经尝试过requireFromapp-module-path没有运气,因为它们与项目根相关。

关于如何从项目目录外部获取文件有什么想法吗?

提前致谢!

最佳答案

var librarypath = '/Users/me/projects/library/';
// or if you prefer...
// var librarypath = '../../../../../library/';
var foo = require(librarypath + 'foo.js');

...或者打扮得更漂亮一点...

function requirelib(lib){ return require('/Users/me/projects/library/'+lib+'.js'); }
var foo = requirelib('foo');
var bar = requirelib('bar');

关于javascript - 是否可以在没有相对路径的情况下从项目目录外部请求模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35929655/

相关文章:

javascript - 无法从 jsPDF fromHTML 进行 AJAX 调用

node.js - 使用 Sequelize 获取带有注册页面的 "Cannot POST"

node.js - 如何更改 gulp-debug 的输出颜色?

angularjs - 找不到 Angular typescript 类型引用路径

css - Gulp-sass 无法编译

javascript - AJAX问题-onreadystate不起作用

javascript - 使用 AJAX 内部函数绑定(bind)可观察数组

Javascript shuffle 函数在 for 循环中返回相同的值

sql-server - 在 Linux 上使用 Node.js 访问 SQL Server

javascript - 如何在 Firebase 托管和函数中配置重写和映射前缀动态路由路径?