简短的答案: 有点 。
在很大程度上要由模块作者来支持,但这并不常见。Socket.io是此类支持模块的示例,如其登录页面所示。但是,还有其他解决方案。这些实际上是我所知道的两个:
- http://ender.no.de/-Ender JS,客户端模块的自描述NPM模拟。我的口味有点牵强。
- https://github.com/substack/node-browserify-Browserify,一个实用程序,它将遍历您的依赖项,并允许您通过模拟node.js模块模式来输出单个脚本。您可以使用jake | cake | rake | make构建脚本来吐出application.js,如果您想花哨的话甚至可以将其自动化。我简短地使用了它,但是认为它有点笨拙,并且变得烦人地进行调试。另外,并非所有双环境npm模块都喜欢通过browserify运行。
就个人而言,我目前选择使用RequireJS(http://requirejs.org/)并手动管理模块,类似于Mozilla对其BrowserQuest示例应用程序(https://github.com/mozilla/BrowserQuest)所做的工作。请注意,这带来了挑战,那就是必须潜在地填充诸如骨干或下划线之类的模块,从而消除了对AMD样式模块加载器的支持。您可以在此处找到有关调整的示例:http :
//tbranyen.com/post/amdrequirejs-shim-plugin-for-loading-incompatible-
javascript
确实看起来无论如何都会受到伤害,这就是为什么对本机模块的支持如此热门。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)