如何在不提及文件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" }
它使事情更清洁。 👍