我创建了一个节点模块,它基本上只是一些有用的JS,也可以用于客户端。我知道require.js可以加载common.js组件,但我不一定要制定一个使用我的模块客户端的每个人都需要require或common.js或其他东西的任务。我也不想强迫他们删除文件底部的module.exports = ...
。其他人如何解决这个问题?你只是创建2个版本,或2个“编译”版本? module.exports工作到处吗?module.exports客户端端
18
A
回答
16
4
这对我(的CoffeeScript)工作。假设“命名空间”就是你要索赔的window
范围内为客户
(module ? {}).exports = @Namespace =
my: 'cool'
module: '!'
然后你就可以在浏览器中使用Node.js的require('namespace').my === 'cool'
或Namespace.my === 'cool'
什么。这转化为JS作为
(typeof module !== "undefined" && module !== null ? module : {}).exports = this.Namespace = {
my: 'cool',
module: '!'
};
1
我觉得这是简单的:
try {
module.exports = exports = MyModule;
} catch (e) {}
这个文件可以包含在浏览器和node.js中都
相关问题
- 1. Java:服务器/客户端 - >客户端/客户端
- 2. jQuery客户端端
- 3. Elasticsearch传输客户端Java客户端
- 4. WCF客户端和非WCF客户端
- 5. 客户端到客户端的连接?
- 6. 获取客户端IP的客户端
- 7. 胖/胖客户端与瘦客户端
- 8. Windows客户端与Web客户端
- 9. 富Web客户端与瘦客户端
- 10. 带客户端的Android客户端Python
- 11. 温莎WCF多客户端客户端
- 12. SSH客户端端口
- 13. GWT客户端端rest API
- 14. 路由器客户端端
- 15. OpenJMS - 客户端端口号
- 16. SocketPermission - 客户端端口?
- 17. 绑定RadListView客户端端
- 18. TFS客户端,GIT后端?
- 19. asp.net验证客户端或客户端或服务器端
- 20. Phpmyadmin Mysql网络客户端和终端客户端的差异
- 21. 客户端与客户端与云端点的通信
- 22. 在客户端
- 23. 在客户端
- 24. 从客户端
- 25. 在客户端
- 26. 在客户端
- 27. 在客户端
- 28. 客户端Cookie
- 29. 在客户端
- 30. Javascript:DLNA客户端
关于这个问题我知道的最好的博览会是http://www.2ality.com/2011/11/module-gap.html。作者讨论了优势/劣势和开发/部署模式。 –