按照这里的建议,我可以获得一个在 node.js 下运行并打印一些 hello world html 的 JavaScript 脚本:
test.cgi
-------
#!/usr/local/bin/node
console.log("Content-Type: text/html; charset=utf-8\n");
console.log("<html><body><h1>hello node.js world</h1></body></html>");
-------
并运行它:
$ ./test.cgi
Content-Type: text/html; charset=utf-8
<html><body><h1>hello node.js world</h1></body></html>
它还可以在 Apache 中按预期工作,并在浏览器中显示预期的 HTML。
现在转到 CoffeeScript(注意这里可爱的三重引号文档,Python 风格):
ctest.cgi
-------
#!/usr/bin/env coffee
console.log("Content-Type: text/html; charset=utf-8\n");
console.log('''<html><body><h1>hello CoffeeScript world
</h1></body></html>''');
-------
这在本地运行时有效:
$ ./ctest.cgi
Content-Type: text/html; charset=utf-8
<html><body><h1>hello CoffeeScript world
</h1></body></html>
但不是在 Apache 中:
Internal Server Error
为什么这不起作用?