我知道MeteorJS是一个“同构”的Web框架,根据我的理解,这意味着代码可以以不同的方式在客户端和服务器上运行。
但是,“server”在这里表示所有客户端的中央服务器。但是,如果我正在进行测验webapp,我需要一台中央计算机(例如显示问题)作为一堆其他客户端的“服务器”。在使用测验示例时,在教室环境中,学生的计算机将是客户端,教师的计算机将成为服务器。
使用Meteor可以吗? 我是否可以根据某些设置或其他内容部署相同的应用但行为不同?
答案 0 :(得分:1)
你要求的是很有可能的。实现它的最常用方法是使用帐户角色:某些用户的特权。例如,如果教师登录(从任何计算机),该应用程序将显示管理仪表板。 alanning:roles是用于此目的的事实上的标准包。
您也可以通过匹配浏览器的IP地址和服务器来实现此目的。 this.connection
将告诉您Meteor方法和出版物中的客户端IP,Node.js可以告诉您server IP。这样,您根本不需要用户帐户,但所有客户端都必须连接到教师计算机。
我会选择帐户角色,我相信它比比较IP地址更可靠。