Coffeescript 以浏览器友好和node.js友好的方式引用类

Coffeescript 以浏览器友好和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

在我的咖啡脚本顶部有以下代码 从BinaryTree引用BinaryNode类的程序 班级

因为我希望能够从中使用BinaryTree类 一个node.js程序或从浏览器我有以下内容 if/else语句引用BinaryNode

文件:BinaryTree.coffee

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,但想避免额外的库,而你的想法就做到了!我应该把它作为一个正确的答案,还是你只是想结束这个问题?继续,把它作为一个答案。