我想在 Express 上的服务器和客户端之间共享一段咖啡脚本代码。我将服务器目录中的文件链接到/public
目录中,以便客户端可以加载它。它确实具有外部依赖项,我为客户端静态解析。为了在客户端尝试调用时删除错误消息require
,我认为一个简单的条件声明就可以了。
console.log require
unless require?
require = (what) ->
console.info "this is the client, you asked me to load #{what}"
return {}
但是,当在服务器上运行时,undefined
将被打印并被require
覆盖。嵌入式 Javascript 也是如此:
`if( typeof require == "undefined" )
var require = function(what) {
console.info( "this is the client, you asked me to load "+what );
return {};
}
`
如果我只运行:
console.log require
在服务器上,它按预期打印一个对象结构。似乎require
至少在评估并执行了条件之后才注入。
我怎样才能require
安全地覆盖,或者我可以使用什么其他范例在客户端和服务器之间共享代码?