Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS应用程序中未识别Require_Javascript_Node.js_Amazon Web Services_Express_Require - Fatal编程技术网

Javascript NodeJS应用程序中未识别Require

Javascript NodeJS应用程序中未识别Require,javascript,node.js,amazon-web-services,express,require,Javascript,Node.js,Amazon Web Services,Express,Require,我已经按照这里的步骤安装了express NodeJS应用程序。安装后,我们移动到“myapp”目录,然后从安装了“aws iot设备sdk” 在节点_模块目录中创建了aws iot设备sdk目录 在publicdirectory中,我们通过创建“index.html”开始了示例探索。在浏览器中启动NodeJS服务器后,我们尝试打开index.html屏幕 index.html-脚本标记我们要求“aws iot设备sdk”运行aws-iot应用程序,但这里我们得到以下错误 未捕获引用错误:未定义

我已经按照这里的步骤安装了express NodeJS应用程序。安装后,我们移动到“myapp”目录,然后从安装了“aws iot设备sdk”

在节点_模块目录中创建了aws iot设备sdk目录

在publicdirectory中,我们通过创建“index.html”开始了示例探索。在浏览器中启动NodeJS服务器后,我们尝试打开index.html屏幕

index.html-脚本标记我们要求“aws iot设备sdk”运行aws-iot应用程序,但这里我们得到以下错误

未捕获引用错误:未定义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>
请帮我解决这个问题

谢谢, Rakesh Kalwa.

aws物联网设备sdk模块设计为通过节点运行

节点具有内置的
require
方法,但这在浏览器中本机不可用(这就是错误显示“require未定义”的原因)

为了
需要客户机端代码中的模型,您需要使用模块加载器,如

但在这种情况下,aws iot设备sdk模块依赖性意味着它将仅通过节点运行


根据您试图实现的目标,您可能希望在node中实现一个可以与AWS模块一起工作的API,并从客户端代码调用它。

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


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

您能用stacktrace和导致错误的代码更新您的问题吗?应该有一个行文件和行号。是的,我们试图使用NodeJS应用程序在浏览器中调用AWS API。根据你的评论,我已经安装了npm install requirejs并再次尝试启动NodeJS服务器,但同样的问题重复出现。仅仅安装require.js并不能解决你的问题。您需要在前端应用程序中实际配置和使用它。但是,请阅读,在您的情况下,require是不相关的-您需要构建客户端应用程序(带或不带require.js),并使用它调用需要AWS模块的节点应用程序。感谢@duncanhall,我已经尝试使用requirejs在我的节点js应用程序中进行配置。在这里,我试图将index.js中的依赖项定义为
define(['aws-iot-device-sdk'],function(awsIot)
在这里,它期望aws iot device sdk作为.js文件。但是它是一个文件夹,我应该如何处理这种情况。Html屏幕我得到的错误是
未捕获错误:“aws iot device sdk”的脚本错误,需要:index
,因为它正在尝试加载.js文件。请看一看我的AWS IoT问题,谢谢Mona的回答,但在我的情况下,我能够获得区域,但我的问题是连接HTML浏览器和NodeJS。我在javascript中使用REQUIRE。
app.use(express.static('public'));