javascript - Att tala om för typescript att inte lägga till ["default'] till ny klass


TypeScript-kod

import ModbusRTU from 'modbus-serial';
var modbus = new ModbusRTU();
modbus.connectTCP("192.168.1.5", { port: 502 });
modbus.setID(1);

setInterval(function() {
    modbus.writeRegister(2048, 2);
}, 100);

transpiler till

"use strict";
exports.__esModule = true;
var modbus_serial_1 = require("modbus-serial");
var modbus = new modbus_serial_1["default"](); //  <-- HERE
modbus.connectTCP("192.168.1.5", { port: 502 });
modbus.setID(1);
setInterval(function () {
    modbus.writeRegister(2048, 2);
}, 100);

Men koden fungerar endast utan ["default"] vid klassinstansiering - på detta sätt

"use strict";
exports.__esModule = true;
var modbus_serial_1 = require("modbus-serial");
var modbus = new modbus_serial_1(); //  <-- HERE
modbus.connectTCP("192.168.1.5", { port: 502 });
modbus.setID(1);
setInterval(function () {
    modbus.writeRegister(2048, 2);
}, 500);

Hur man berättar för transpilaren att inte lägga till det i koden?

Svar #1

Om någon annan stöter på det här problemet. Det verkar som att exporterna från det här biblioteket är lite felaktiga. Jag öppnade ett ärende här och en pull-begäran för att fixa det här.

Redigera: Min patch har tillämpats på detta bibliotek, därför borde detta problem inte uppstå i framtiden :)

Relaterade artiklar