我对Browserify并不陌生,因此如果这听起来像是一个愚蠢的主意,我会提前道歉。

上下文:我一直在使用具有一个全局名称空间的模块化设计来编写我的Web应用程序(假设ns,并且可以通过像ns.moduleA这样的名称空间访问模块。我使用grunt将所有JS文件连接在一起,并手动管理依赖关系(它们的并置顺序)在发现Browserify之后,我想将我的代码库迁移到它。

但是该项目取决于许多库,其中相当一部分库似乎无法与AMD或CJS很好地配合使用(根据其github问题列表),并且在研究了诸如browserify-shim之类的解决方案之后,痛苦。

建议的解决方案:我将所有依赖的库连接起来并粘贴到libs.js中,因此这些库都公开给全局命名空间,因此可以通用访问它们。然后对于我的代码,我不必担心require'ing它们,而只需按原样使用它们即可。例如,使用jQuery,我可以简单地执行var $ = require('jquery'); $('a').b();而不是执行$('a').b()。我确实意识到这违背了Browserify为您管理所有依赖项的原则,但是与使用现有解决方案相比,亲自管理外部库似乎要容易得多。

问题:这是一个好习惯吗? (我怀疑不是),为什么?

谢谢。

最佳答案

经过更多研究后,我发现这篇文章对我的情况很有帮助。这是它的链接,也许它将帮助其他人遇到相同的问题。 How do I use Browserify with external dependencies?

关于javascript - Browserify与全局模块结合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27034277/

10-12 13:33