我正在尝试构建一个在Node项目中使用的JS模块的本地库。
如果新项目位于foo.cpp
且我的库文件位于/Users/me/projects/path/to/new/project/
,是否有办法在不使用相对路径的情况下访问这些文件?
在/Users/me/projects/library/*.js
中你可以像这样要求foo.js:
/Users/me/projects/path/to/new/project/app.js
这会有效,但这很笨拙,如果文件移动,您必须更新相对路径。
我已经尝试requireFrom和app-module-path而没有运气,因为它们与项目根目录相关。
有关如何从项目外部请求文件的任何想法dir?
提前致谢!
答案 0 :(得分:1)
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');
答案 1 :(得分:0)
我有多次相同的问题。这可以通过使用basetag
npm软件包来解决。它本身并不需要,仅需安装即可,因为它会在node_modules
内部创建指向您的基本路径的符号链接。
const localFile = require('$/local/file')
// instead of
const localFile = require('../../local/file')
使用$/...
前缀将始终引用相对于应用程序根目录的文件。