需要在 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
它。
我是在 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
它。