需要在 JS Class

Requires in a JS Class

我是在 JS 中使用 classes 的新手,一直在努力寻找它的最佳实践,并且想知道在 class.

中使用它时 requires 是如何工作的

假设我想创建一个 IoT 连接 class 以用于连接到 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");

创建 class 的新实例时会发生什么?如果我每隔几分钟建立数百个连接,require 是只加载一次还是会有问题?

有没有更好的方法来解决这个问题?

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

所以,

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

只会建立一个连接。

为了更好地理解 'how module.exports and require work' 创建一个空文件并在其中做一些 console.log('foo') 并在现有代码中 require 它。