CoffeScript:从浏览器运行runninjg时无法识别

Est*_*gee 7 coffeescript

我试图运行这段代码从http://coffeescriptcookbook.com嵌入到html中.

net = require 'net'

domain = 'localhost'
port = 9001

connecting = (socket) ->
    console.log "Connecting to real-time server"

connection = net.createConnection port, domain

connection.on 'connect', () ->
    console.log "Opened connection to #{domain}:#{port}"
    connecting connection

connection.on 'data', (data) ->
    console.log "Received: #{data}"

connection.on 'end', (data) ->
    console.log "Connection closed"
Run Code Online (Sandbox Code Playgroud)

这段代码在名为client.coffe的文件中,当我使用coffee命令运行它:coffee client.coffe它运行正常并连接到服务器,但是当我将它嵌入到html文件中并打开它时我收到此错误:未捕获ReferenceError:未定义require.

我的html脚本标签如下所示:

 <script src="http://jashkenas.github.com/coffee-script/extras/coffee-script.js"
         type="text/javascript" charset="utf-8" ></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"
         type="text/javascript" charset="utf-8"></script>
    <script src="{% get_static_prefix %}functions.js"
         type="text/javascript" charset="utf-8"></script>
    <script src="{% get_static_prefix %}jquery.dajax.core.js"
         type="text/javascript" charset="utf-8"></script>

    <script src="{% get_static_prefix %}client.coffee"
         type="text/coffeescript" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

the*_*ejh 5

这在浏览器中不起作用.

第一个问题:出于安全原因,浏览器中的东西不允许连接到其他服务器或端口.此外,你没有真正的套接字,只有HTTP.

第二个问题:require是一个node.js命令,你只能在node.js中使用(也就是说,当你使用node命令运行javascript文件或使用命令运行coffeescript文件时coffee).该net模块属于node.js,并且永远不会在浏览器中以这种方式工作.

如果你想从浏览器内部实时与服务器通信,我推荐socket.io使用websockets,flashsockets和HTTP 的模块(可以在浏览器中使用).