使用 javascript 运行本地服务器
Posted
技术标签:
【中文标题】使用 javascript 运行本地服务器【英文标题】:Running a local server with javascript 【发布时间】:2012-06-19 14:21:46 【问题描述】:我想创建一个带有 html 界面的简单 javascript 程序。该程序将在 Chrome 中运行。我还将使用 node-serialport 和 Node.js 与 Arduino 通信。我已经完成了一个 HTML 和 JavaScript 文件,但我不知道如何运行它,或者如何实现 Node.js 或 node-serialport,也不知道如何“启动”服务器。最初它将仅在本地运行,但最终它可能会成为真正的服务器。现在,我如何在本地运行所有这些?
编辑:我正在使用来自 http://brandontilley.com/2012/03/02/controlling-an-arduino-from-nodejs.html 的示例代码,并将 CoffeeScript 转换为 JavaScript。
【问题讨论】:
文件长什么样? 您可能需要查看节点文档以获取有关安装和启动 node.js 的信息 我已经安装在我的系统中,我不知道如何实现它,文档对我来说是外语 如果您更熟悉其他编程语言,您可以在 html/js 中构建 gui,并使用 flash 或 java applet 提供套接字连接。然后,您可以连接到另一个侦听该套接字(任何编程语言)的程序,并让该其他程序进行 arduino 交互。让 node.js 运行听起来更简单,除非你真的想用 c 之类的东西来控制 arduino。 【参考方案1】:Lucas,很高兴您发现这篇博文很有用;也许我应该将这些信息添加到其中。
将草图放入您的 Arduino
只需启动 Arduino 应用程序,粘贴草图代码,然后点击“上传”。应该是您在这里需要做的所有事情。
启动 Node.js 服务器
您在什么操作系统上使用它?了解如何通过节点串行端口访问您的 Arduino 微控制器会因您的操作系统而异。
在源代码中,将port
的字符串值更改为您的Arduino 设备(一旦您知道它)。此外,该脚本依赖于 Express 和(当然)来自 NPM 的 node-serialport,因此在保存 JavaScript 文件的目录中运行 npm install express serialport
。最后,使用node server.js
运行文件(假设server.js
是您的文件名)。然后就可以通过http://localhost:8080
访问服务器了。
【讨论】:
太棒了!服务器启动并运行脚本,但在转到 localhost:8080 时它只显示Cannot GET /
还有一件事,我该如何阻止它?
嗯,你能把翻译后的 JavaScript 代码粘贴到 gist.github.com 上吗?它应该发送index.html
文件。您可以使用Ctrl+C
停止服务器。
gist.github.com/2945632 编辑:我想我可能已经找到了我的问题,正在寻找......
这绝对是正确的;第 38-40 行应该处理根路由。【参考方案2】:
您可以使用 node.js 通过Express 提供 HTML。如果您的主要 Javascript 文件名为 server.js,则通过键入以下内容运行它:
节点服务器.js
在命令行中。
【讨论】:
以上是关于使用 javascript 运行本地服务器的主要内容,如果未能解决你的问题,请参考以下文章
本地文件中的 ES6 模块 - 服务器以非 JavaScript MIME 类型响应
JavaScript - 将图像从 URL 保存到本地机器特定路径?
来自本地 HTML 文件的 WebView Javascript 跨域