我正在努力将我当前的RequireJS工作流程更改为Browserify + Watchify,仅用于我的前端Javascript(我的后端是Ruby)。我遇到的唯一问题是我没有一个简单的地方来配置我所谓的“命名路径”。我们假设我的前端结构如此:
app/
models/
ExampleModel.js
views/
ExampleView.js
main.js
util/
backbone-all.js
vendor/
jquery-2.1.0.js
backbone-1.1.2.js
backbone-marionette-2.0.1.js
underscore-1.6.0.js
在上面的示例中,请注意两件事:
backbone-all.js
文件夹util
文件
醇>
使用RequirejS,我可以执行以下操作:
require.config({
paths: {
"jquery": "vendor/jquery-2.1.0",
"backbone": "vendor/backbone-1.1.2",
"underscore": "vendor/underscore-1.6.0",
"backbone-all": "util/backbone-all"
}
});
能够简单地按名称要求我的代码,而不是完全合格(甚至相对)的路径。我还没有找到一种方法让我的工作方式与我想要的前端相同。我得到的最接近的是创建一个依赖关系图文件,该文件在我的应用程序启动之前加载(并且全局可用),并将其用作键:
window.d = window.dependency = {
"jquery": "/vendor/jquery-2.1.0",
"backbone": "/vendor/backbone-1.1.2",
"underscore": "/vendor/underscore-1.6.0",
"backbone-all": "/util/backbone-all"
};
var $ = require(d.jquery);
是否有人遇到此问题,或遇到过合适的解决方案?我遇到this post这是类似的,但6个月前没有接受答案。事情可能发生了变化。
答案 0 :(得分:3)
您可以使用browser
中的package.json
字段配置类似于requireJS&n paths
地图的地图。请参阅the browserify docs。
"browser": {
"jquery": "./vendor/jquery-1.42.js",
"./lib/ops.js": "./browser/opts.js"
}