Javascript Coffeescript需要带参数的模块,browserify

Javascript Coffeescript需要带参数的模块,browserify,javascript,node.js,coffeescript,browserify,Javascript,Node.js,Coffeescript,Browserify,如果不检查我以前在javascript中的代码,我可以在nodejs应用程序中使用如下模块: app = require('./foo')('argstring') 我还没有检查我的任何代码库,但我肯定记得我可以在请求之后立即传递参数 但我现在正在做客户端应用程序,并决定使用browserify,以便在客户端js应用程序中使用require。(这次我用的是咖啡脚本) 我有一门课是这样的: class Foo constructor: (@argstring) -> bar: ()

如果不检查我以前在javascript中的代码,我可以在nodejs应用程序中使用如下模块:

app = require('./foo')('argstring')
我还没有检查我的任何代码库,但我肯定记得我可以在请求之后立即传递参数

但我现在正在做客户端应用程序,并决定使用browserify,以便在客户端js应用程序中使用
require
。(这次我用的是咖啡脚本)

我有一门课是这样的:

class Foo
  constructor: (@argstring) ->
  bar: () ->
    console.log @argstring

module.exports = Foo
现在我必须在我的主要咖啡文件中使用它:

fap = require('./foo')('some string')
console.log fap // returns undefined
如果我这样做:

Foo = require('./foo')
fap = new Foo 'some string'
console.log fap // returns the object correctly
显然,我可以选择使用实例化,但我不喜欢,因为它多了1个代码。

foo=new(require('./foo'))('some string')


您只需在一行上执行此实例化就可以了,您只需要确保并实际地
new
对象,并调用适当的构造函数方法。

我这样做了,并说,
找不到模块。/foo'
,但这是有效的:
new(require('./foo'))('some string)
你认为是什么?好问题,我不完全确定。表达式执行的顺序可能不是我们在没有paren的情况下所期望的。