咕噜咕噜浏览器化 - 设置包含,回退路径
Grunt Browserify - set include, fallback path
有没有办法为浏览器创建Grunt任务以使用回退路径?例如。
require('./module.js)
检查module.js
是否在当前目录中,如果不存在,请检查其他目录?
project1
|- dir1
|- mod1.js - has: require('./mod2.js')
|- bundle.js - has: require('./mod1.js') and require('./mod2.js')
project2
|- dir2
|- mod1.js
|- mod2.js
我已经尝试过重新映射,但它只能检查一个特定的目录。而且我不想更改模块内部的需求路径,一切都应该通过 Grunt 完成。
我想覆盖某些应用程序(dir2),因此我只想获取(复制到dir1)我需要更改的模块,并将所有其他模块保留在应用程序目录中。
咕噜咕噜文件在project1
.模块是 CommonJS。我正在使用咕噜咕噜浏览器。
这现在有点旧了,但有一个答案会很好。
所以,几天前我问了自己一个非常相似的问题,最终基本上做了你想做的事情。
使用来自 grunt-browserify 的browserifyOptions
,如下所示:
// Using grunt-browserify
grunt.loadNpmTasks("grunt-browserify");
grunt.initConfig({
browserify : {
options : {
browserifyOptions : {
// keep in mind that paths are relative to Gruntfile.js
paths: ["./first/path", "./second/path", "./and/so/on"]
}
},
dist : {
files: { "./path/to/dist.js" : "./path/to/src.js" }
}
},
});
您现在可以执行以下操作:
var myModule = require("myModule");
opts.path 是一个目录数组,浏览器会在以下情况下进行搜索 查找未使用相对路径引用的模块。能 是绝对的或相对于的 baseIR。相当于设置NODE_PATH 调用浏览器化命令时的环境变量。- 浏览器化
从理论上讲,它应该按顺序遵循路径,我遇到的唯一问题是它在搜索这些路径之前会查看本机节点模块(util、fs 等)。
这句话的意思是,如果你这样做:
var myModule = require("./myModule");
浏览器化将按照相对路径查找模块。删除相对路径时:
var myModule = require("myModule");
它可以搜索选项中的稳定路径。
编辑
我对此进行了测试,它按预期工作。我有一个名为myModule的模块.js位于"./current/directory"中,我还有一个名为myModule的模块.js位于"./modules/directory"中。另外,在当前目录中,我有需要模块的"src.js":require("myModule");
。它按顺序查看路径,在这种情况下,第一个找到的是注入bundle.js
的路径。
grunt.initConfig({
browserify : {
dist : {
options : {
browserifyOptions : {
// keep in mind that paths are relative to Gruntfile.js
paths: ["./current/directory", "./modules/directory"]
}
},
files: { "./current/directory/bundle.js" : "./current/directory/src.js" }
}
},
});
- 如何为JS模块添加包含路径
- 当包含在CSS/JS/HTML中时,我如何得出正确的目录路径
- 重定向Javascript中包含的URL路径
- 从包含密钥路径的字符串中获取json值
- 在JSP中包含java脚本路径
- 咕噜咕噜浏览器化 - 设置包含,回退路径
- 使用 javascript 更改 php 包含路径
- 无法使用 Jade 模板包含相对路径文件
- 按父页面打印地图,其中包含 iframe 内的路线和路径
- 如何确定路径末尾是否包含格式
- 如何在 Gjs 代码中设置包含路径
- 计算safari和chrome中svg路径的getBBox()中包含的控制点
- TypeError:请求路径包含未转义的字符
- 使用javascript获取包含Get变量的路径
- 如何使用javascript或jquery检查href路径是否包含图像或其他链接
- Regexp匹配文件名,但不包含路径
- 包含在nunjucks (grunt-nunjucks-2-html)是基于一个不正确的路径
- 如何在分隔符中包含连接的路径
- 如何获得包含javascript函数文件的相对路径
- 在Ember项目中包含外部JS文件的路径错误(不确定)