有样本:
ClassB的
ClassA扩展了ClassB
命令:coffee -w -j main.js -c -l -o lib src
错误:未捕获的TypeError:无法读取未定义的属性'prototype'
原因:ClassA在编译文件中的B之前编译,因此classB在目前还不存在 ClassA是创建并尝试扩展它..
愚蠢修复:ClassA重命名为ClassC,因此它将在编译文件中的ClassB之后编译
有人能得到更好的解决方法吗?
谢谢!
答案 0 :(得分:0)
如coffeescript documentation所述:
-j, - join [FILE]
在编译之前,按照传递的顺序将所有脚本连接在一起,并将它们写入指定的文件。用于构建大型项目。
这意味着您必须以正确的顺序传递脚本。假设classA在文件classB.coffee中,而classB在文件classB.coffee中,上面的命令应该是:
coffee -w -j main.js -c -l -o lib src/classB.coffee src/classA.coffee