【问题标题】:How do I setup and deploy a local execution app for Google smart home action?如何为 Google 智能家居操作设置和部署本地执行应用程序?
【发布时间】:2019-09-18 23:04:41
【问题描述】:
我正在为我的谷歌智能家居操作实现本地执行功能。我正在按照此链接中的步骤操作:
https://developers.google.com/actions/smarthome/develop/local
我已经在控制台中配置了扫描数据,现在我正在尝试部署我的本地执行应用程序。我知道如何用 javascript 编程,我已经创建了几个 firebase 函数,但我不是 node.js 方面的专家。我不明白如何设置和运行这个 javascript 应用程序。
我试图在浏览器上运行它,但它说它找不到“require”,我读到 node.js 不应该在客户端运行。在上面的链接中,它说要创建一个 index.html,声明“local_execution.js”。这个 javascript 模块会在客户端运行吗?有人可以指出我正确的方向吗?也许解释一下如何设置应用程序目录。
提前谢谢你,
恩里克
【问题讨论】:
标签:
node.js
typescript
local
execution
google-smart-home
【解决方案1】:
最好的起点是 GitHub 上的本地主页 sample app。此示例包括一个本地执行应用程序和一个兼容的虚拟设备,以及编译和部署它的说明。
为了进行测试,您需要将网络应用 (HTML/JavaScript) 托管在您的家庭设备可以访问的位置。这可能是本地开发服务器或类似Firebase Hosting 的东西(示例中包含两者的说明)。托管 URL 进入控制台的 Test > On device testing。
我试图在浏览器上运行它,但它说找不到“require”,我读到 node.js 不应该在客户端运行。
家庭设备运行基于浏览器 (Chrome) 的环境,因此您的 JavaScript 必须与浏览器兼容。如果您在代码中使用 Node 编程范式(例如,使用 require 导入模块),则需要使用 Webpack 或 Parcel 等打包工具为浏览器打包代码。 示例使用 Webpack 来完成此操作。
旁注:您甚至无法在开发机器上的浏览器中运行正确打包的本地家庭应用程序,因为本地家庭 SDK 仅存在于家庭设备上。