javascript-在Browserify中设置文件的自定义路径
作者:互联网
我正在努力将当前的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
在上面的示例中,请注意两件事:
>我所有供应的JS文件的文件名中都有其版本
>请注意util文件夹中的bone-all.js文件
使用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个月前没有接受任何答案.也许情况已经变了.
解决方法:
您可以使用package.json中的browser字段来配置类似于requireJS的路径映射的映射.参见the browserify docs.
"browser": {
"jquery": "./vendor/jquery-1.42.js",
"./lib/ops.js": "./browser/opts.js"
}
标签:browserify,requirejs,javascript 来源: https://codeday.me/bug/20191121/2051830.html