[英]Is it possible to require modules from outside of your project directory without relative paths?
我正在嘗試構建一個本地 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 ,但沒有運氣,因為它們是相對於項目根目錄的。
關於如何從項目目錄外部獲取文件的任何想法?
提前致謝!
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');
我多次遇到同樣的問題。 這可以通過使用basetag
npm 包來解決。 它本身不一定是必需的,僅當它在node_modules
內創建一個指向您的基本路徑的符號鏈接時才安裝。
const localFile = require('$/local/file')
// instead of
const localFile = require('../../local/file')
使用$/...
前綴將始終引用與您的應用程序根目錄相關的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.