Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 在JS类中需要_Javascript_Node.js_Class_Require - Fatal编程技术网

Javascript 在JS类中需要

Javascript 在JS类中需要,javascript,node.js,class,require,Javascript,Node.js,Class,Require,我刚开始在JS中使用类,一直在尝试寻找最佳实践,并且想知道在类中使用它时需要如何工作 假设我想创建一个物联网连接类,用于连接azure物联网中心。为了建立连接,我需要一些条件来获取函数getClientFromConnectionString var Protocol = require('azure-iot-device-amqp').Amqp; var clientFromConnectionString = require('azure-iot-device-amqp').clientFr

我刚开始在JS中使用类,一直在尝试寻找最佳实践,并且想知道在类中使用它时需要如何工作

假设我想创建一个物联网连接类,用于连接azure物联网中心。为了建立连接,我需要一些条件来获取函数
getClientFromConnectionString

var Protocol = require('azure-iot-device-amqp').Amqp;
var clientFromConnectionString = require('azure-iot-device-amqp').clientFromConnectionString;

class IoT_Connection {

    constructor(_deviceName, _securityKey1, _securityKey2) {
        this.deviceName = _deviceName;
        this.securityKey1 = _securityKey1;
        this.securityKey2 = _securityKey2;

    }    
}


module.exports = IoT_Connection;

var conn = new IoT_Connection("z", "x", "y");
创建类的新实例时会发生什么?是否只需要加载一次,或者如果每隔几分钟进行数百次连接,这将是一个问题


有没有更好的办法解决这个问题

是;每当运行nodejs服务器时,javascript引擎(在本例中就是V8引擎)就会解释您的代码。任何起始文件(server.js或app.js)所需的文件都将被解释,require语句只执行一次

所以

var clientFromConnectionString=require('azure-iot-device-amqp')。clientFromConnectionString

将只建立一个连接


为了更好地理解“module.exports and require work”如何创建一个空文件,并在其中执行一些
console.log('foo')
,然后在现有代码中执行
require
操作。

这完全可以。