Javascript 咖啡脚本-空间问题

Javascript 咖啡脚本-空间问题,javascript,compilation,coffeescript,Javascript,Compilation,Coffeescript,跟随咖啡脚本 if eachController.indexOf("Controller.js") isnt -1 controller = require(controllersFolderPath + eachControllerName) controller.register server 获取此JavaScript代码 if (eachController.indexOf("Controller.js") !== -1) { controller = require(c

跟随咖啡脚本

if eachController.indexOf("Controller.js") isnt -1
  controller = require(controllersFolderPath + eachControllerName)
  controller.register server 
获取此JavaScript代码

if (eachController.indexOf("Controller.js") !== -1) {
  controller = require(controllersFolderPath + eachControllerName);
  controller.register(server);
}
但是,如果在indexOf之后添加额外的空间,则!==-1成为indexOf的一部分

if eachController.indexOf ("Controller.js") isnt -1
    controller = require(controllersFolderPath + eachControllerName)
    controller.register server
进入


我只是想知道这是一个bug还是我应该一直关注的标准语法。

是的,如果你做了第二种形式,咖啡会猜到你的意思

if eachController.indexOf (("Controller.js") isnt -1)
    controller = require(controllersFolderPath + eachControllerName)
    controller.register server


所以你应该注意咖啡的灵巧性,这并不难做到。(-:

我会完全去掉括号“()”,然后这样做:

if -1 isnt eachController.indexOf "Controller.js"
  controller = require "#{controllersFolderPath}#{eachControllerName}"
  controller.register server
我还尝试利用字符串插值, i、 e.“{controllersFolderPath}{eachControllerName}”

一旦你习惯了,阅读起来就容易多了


您也可以尝试在'indexOf'部分后添加额外的空格,您会看到coffee编译器忽略它,并且不会中断函数调用。

Complete去掉括号没有帮助,并导致与带括号的空格相同的代码,您是否尝试过使用编译器?更新以反转表达式,本质上是一样的,但是t去掉括号。
if eachController.indexOf ("Controller.js") isnt -1
    controller = require(controllersFolderPath + eachControllerName)
    controller.register server
if -1 isnt eachController.indexOf "Controller.js"
  controller = require "#{controllersFolderPath}#{eachControllerName}"
  controller.register server