首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用FIgwheel运行Express.JS

用FIgwheel运行Express.JS
EN

Stack Overflow用户
提问于 2016-02-28 22:30:15
回答 1查看 282关注 0票数 1

根据我的理解,运行lein figwheel会在3449端口幕后启动一个简单的静态主机服务器(通过ring)。这在我的系统上有效。

问题是,我通过node.js在3000端口托管自己的文件。当我运行fig轮,然后启动我的express.js服务器时,更改我的前端文件会对两个端口产生相同的影响(也就是说,更新一个文件会使两个页面立即重新呈现)。

问题:,但是如果express.js端口3000服务器一无所知,这怎么可能呢?而且,在任何情况下,这是使用我自己的快递服务器(即运行两个实例,一个缺省值为3449,我自己的端口为3000)的最佳方式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-29 03:27:17

该页面正在运行从ClojureScript构建的javascript。该构建包括Config轮客户端代码。来自fig轮客户端的代码正在打开到预定义位置的websocket连接。在哪里托管页面并不重要,javascript将尝试连接到预定义的websocket端点。因此,如果您在3000上从服务器加载页面,websocket仍然会被建立到您用lein figwheel创建的服务器进程。最重要的一点是,这里有Config轮客户端代码和fig轮服务器。当文件发生变化时,fig轮服务器正在监视文件系统,并通知任何websocket连接。Config轮客户端只是连接到一个已知的websocket,并监听重新加载工件的指令。因此,正如您已经发现的那样,您不需要使用fig轮子来服务静态内容。

至于“这是最好的办法吗?”这完全取决于你的目标。当然,这是很好的工作,所以,如果有一些优势,运行这两个,去吧!另一方面,如果您不需要快速服务器,为什么要运行它呢?

运行2台服务器的一种优势是,当您依赖服务器端功能时,它不适合使用fig轮作为主机。这可能是由于部署(可能您不想使用环处理程序作为您的主要服务器),或者技术限制(我喜欢为websockets使用httpkit,而且afaik没有一种好的方法从环处理程序中运行这些处理程序)。但是,正如您所指出的,即使您没有使用它来服务文件或服务,您仍然可以使用fig轮子进行快速开发重新加载。

显然,fig轮服务器需要监视正确的文件,所以请确保fig轮子被配置为观察正确的目录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35689106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档