【发布时间】:2014-07-15 11:10:43
【问题描述】:
CoffeeScript 有点问题。我正在尝试在 Node.js 和 Express 中构建一个 RESTful API。这是代码的问题部分:
express = require('express');
router = express.Router()
router.route '/todos/:todo_id'
.get (req, res) ->
# do get ...
.delete (req, res) ->
# do delete ...
.put (req, res) ->
# do put ...
编译为:
router.route('/todos/:todo_id')
.get(function(req, res) {
# here's my get code
})["delete"](function(req, res) {
# here's my delete code
}).put(function(req, res) {
# here's my put code
});
“delete”关键字似乎很棘手 - 当我用任何其他词(get、put、delet 等)替换它时,它编译为 .keyword 就好了,但只有“delete”关键字编译为数组 -访问的东西。由于 REST,我不能使用任何其他关键字。有任何想法吗?谢谢。
【问题讨论】:
-
我可能是少数,但咖啡脚本是伪装的魔鬼。您将花费更多时间修复编译错误而不是实际错误。事实上,
["delete"]编译是 Coffeescript 中的一个怪癖。见此链接:stackoverflow.com/a/18024915/2068709 -
嗯,它现在真的有效,即使是
["delete"],谢谢。我同意,CoffeeScript 并没有看起来那么好,但我真的不知道有什么更好的。这里有什么想法吗?打字稿可能吗?纯Javascript? -
我每天都会选择纯 javascript 而不是其他东西。是的,它可能看起来不那么漂亮或可能更长,但你可以在一周中的任何一天拥有更多的控制权。
-
TypeScript 或 Flow(来自 Facebook)在 CoffeeScript 上,总是如此。保留 javascript 的精神/可以选择只写普通的 javascript,而不是完全写“别的东西”。
标签: node.js express coffeescript