如何在不提及文件path的情况下需要一个模块

这是一个示例文件夹结构

folder1 --lib ----app.js folder 2 --www ----Application.js 

文件夹2中的Application.js文件需要以下面的方式从文件夹1获取app.js文件var app = require('../../folder1/lib/app')然后浏览Application.js文件。

我想要的是需要app.js进入Application.js,而不必提及path.ie var app = require('app')并且不改变文件夹结构,但是在被浏览时它将映射实际文件即folder1 /lib/app.js用于require('app')。

编辑

我想在folder1中创build一个文件,将负责浏览在folder2中的代码。 例如:$ folder2> node ../folder1/build.js www / Application.js将输出一个browserified文件映射require('app')到app1中的app.js文件夹1

我倾向于使用app-module-path

我的文件夹结构:

 index.js app/ lib/ hash.js controllers/ index.js middleware/ auth.js 

并在index.js

 require('app-module-path').addPath(__dirname); 

然后例如在controllers/index.js ,我可以这样做:

 var auth = require('app/middleware/auth'); var hash = require('app/lib/hash'); 

这是为nodejs。 现在浏览你可以使用aliasify

 replacements: { "app/(\\w+)": "app/$1" } 

它使事情更清洁。 👍