Coffeescript 以浏览器友好和node.js友好的方式引用类
在我的咖啡脚本顶部有以下代码 从BinaryTree引用BinaryNode类的程序 班级 因为我希望能够从中使用BinaryTree类 一个node.js程序或从浏览器我有以下内容 if/else语句引用BinaryNode 文件:BinaryTree.coffeeCoffeescript 以浏览器友好和node.js友好的方式引用类,coffeescript,Coffeescript,在我的咖啡脚本顶部有以下代码 从BinaryTree引用BinaryNode类的程序 班级 因为我希望能够从中使用BinaryTree类 一个node.js程序或从浏览器我有以下内容 if/else语句引用BinaryNode 文件:BinaryTree.coffee isNodeJs = exports? if isNodeJs {BinaryNode} = require('./binary_node') else BinaryNode = window.BinaryNode
isNodeJs = exports?
if isNodeJs
{BinaryNode} = require('./binary_node')
else
BinaryNode = window.BinaryNode
class BinaryTree
(code for BinaryTree goes here)
不知何故,如果我需要的话,这个if/else会特别困扰我
将它添加到许多不同的类中,这些类构成了
节目
还有其他更好的方法来执行此检查吗?(来自我上面的评论)
分支可以缩短为:
{BinaryNode} = require?("/.binary_node") or window
(当然,如果您的浏览器代码中没有全局
require
函数)那么,如果您想感谢,您可以将其缩短为{BinaryNode}=require?(“/.binary\u node”)或窗口。那要干净得多。我开始研究RequireJS,但想避免额外的库,而你的想法就做到了!我应该把它作为一个正确的答案,还是你只是想结束这个问题?继续,把它作为一个答案。