最近要用 D3.js 做数据可视化,看教程的时候发现有个家伙用CoffeeScript,代码看着跟Python一样一样的,一见倾心,遂尝鲜。(PS:D3的例子们真的很萌,都是各种人贡献的,东一个西一个的)
例子里是直接嵌入着用的,在前台编译成JS,机制是在一个wrapper里封闭运行,也看不到编译的结果。所谓wrapper就是一个匿名函数,编译出来的代码都在内部运行,可以借助 window 对象使得数据可以在外部访问。不过虽然在 wrapper 里,绑定事件等回调函数的设置都是没有问题的。
做实验的时候,出现了奇怪的问题,一旦改动了页内 coffeescript,他的文件内容就不正常了,禁用缓存也一样。只有重启了Apache才能解决问题,我深知这不是长久之计,就百度了一下,还真有类似的问题,原来问题的根结是NFS以及文件传送,在Apache里关掉EnableNMAP和EnableSendfile即可,两者均是用来提高文件传输性能的,当涉及到NFS文件夹时就会出现错误,尤其是文件发生变动的时候,文件末尾会出现乱码。