Javascript 如何在不提及相对文件路径的情况下要求模块

Javascript 如何在不提及相对文件路径的情况下要求模块,javascript,node.js,browserify,Javascript,Node.js,Browserify,这是一个示例文件夹结构 folder1 --lib ----app.js folder 2 --www ----Application.js folder2中的Application.js文件需要来自folder1的app.js文件,方法如下:var app=require('../../folder1/lib/app') 然后浏览Application.js 我想要实现的是在不提及路径的情况下将app.js导入Application.js。即var app=require('app'),并

这是一个示例文件夹结构

folder1
--lib
----app.js

folder 2
--www
----Application.js
folder2中的Application.js文件需要来自folder1的app.js文件,方法如下:
var app=require('../../folder1/lib/app')
然后浏览Application.js

我想要实现的是在不提及路径的情况下将app.js导入Application.js。即
var app=require('app')
,并且不更改文件夹结构,但在浏览时,它将映射实际文件,即require('app')的folder1/lib/app.js

编辑

我正在考虑在folder1中创建一个文件,负责浏览folder2中的代码。 示例:$folder2>node../folder1/build.js www/Application.js 将输出一个Browseried文件映射require('app')到folder1中的app.js

我的文件夹结构:

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的。现在,对于browserify,您可以使用


它使东西更干净。你把你的问题贴上了标签。您实际上是如何使用RequireJS的?(如何加载、配置等)我正在使用browserify ex:borwserify Application.js>path/to/some/folder构建脚本,并且requirejs包含实际路径。我已经从您的问题中删除了,因为您似乎没有使用它。请注意,RequireJS是一个。标签是针对与该产品相关的问题。但是,我的问题是关于requirejs和browserify的,我要寻找的是在文件被browserify之前在requirejs中自动生成路径别名。那么,我们回到原点。请编辑您的问题以说明如何加载和配置RequireJS。你的问题越接近答案,你就越有可能得到真正解决问题的答案。
replacements: {
  "app/(\\w+)": "app/$1"
}