需求在NodeJS应用程序中不被识别

我已经按照从这里http://expressjs.com/en/starter/installing.html的步骤来安装快速NodeJS应用程序。 安装后,我们移动到“myapp”目录,然后从https://github.com/aws/aws-iot-device-sdk-js安装“aws-iot-device-sdk”。

这里在node_modules目录中创build了aws-iot-device-sdk目录。

在公共目录中,我们已经通过创build“index.html”开始了一个例子。 在浏览器中启动NodeJS服务器后,我们尝试打开http:// localhost:3000 ,这里打开了index.html屏幕。

index.html – 我们需要“aws-iot-device-sdk”来运行AWS-IOT应用程序的脚本标记,但是在这里我们遇到以下错误。

未捕获的ReferenceError:require是未定义的

以下是index.html文件的代码

<!DOCTYPE html> <html> <script> function clicked(){ var awsIot = require('aws-iot-device-sdk'); } </script> <body> <input type="submit" onclick="clicked()" value="Click here to send email"> </body> </html> 

redirect到index.html,我们在app.js中使用了下面的代码

 app.use(express.static('public')); 

请帮我解决这个问题。

谢谢,Rakesh Kalwa。

aws-iot-device-sdk模块被devise为通过节点运行。

节点有一个内置的require方法,但是这在浏览器中本身是不可用的(这就是为什么错误表示“require is not defined” )。

为了在客户端代码中require一个模型,你需要使用一个模块加载器,比如require.js

在这种情况下, aws-iot-device-sdk模块依赖关系意味着它只能通过节点运行。

根据您尝试实现的内容,您可能需要在可以与AWS模块一起工作的节点中实现API,然后从您的客户端代码中调用它。

经过长时间的研究,我通过在NodeJS应用程序中添加“ejs”来解决问题。 现在,我可以在浏览器中调用Require。

现在我们可以从浏览器访问AWS-IOT