Browserify允许在服务器和客户端上使用相同的模块,这很好。
但是,我不希望将某些文件包含在browserify包中,例如包含敏感数据的属性文件。显然我不会有意包含它,但我想更进一步,防止它甚至可能出现,偶然或不熟悉设置的开发人员。
现在我有这个:
// fail browserify but not node
try { require('./kill/browserify'); }
catch(ex) {}
...我认为应该有效,因为节点包含动态但是browserify包含静态,但我想知道是否有一种不那么强硬的方式?像某种评论指令:
// is something like this possible?
/* @browserify disallow */
答案 0 :(得分:2)
exclude怎么样?
- exclude,-u从输出包中省略文件。文件可以是globs。
如果您的代码尝试require()该文件,它将抛出,除非您提供了另一种加载它的机制。
上述答案仅在运行时 ,如@greim所述。应该在捆绑时工作的另一个解决方案是使用browserify转换器将受保护的文件别名化为不存在的文件。
使用aliasify:
aliasify = require('aliasify').configure({
aliases: {
"file-protected": "./path/to/protected"
}
});
var b = browserify();
b.transform(aliasify);
...