Dengan perkembangan pesat aplikasi web, Node.js telah menjadi salah satu rangka kerja teknologi pilihan untuk pembangun. Dalam aplikasi ini, semasa menggunakan antara muka pengguna bahagian hadapan, bahagian belakang juga mesti menyediakan beberapa perkhidmatan untuk melaksanakan beberapa fungsi, seperti membaca fail, akses pangkalan data dan permintaan rangkaian. Untuk pembangun yang baik, Node.js telah menjadi pilihan yang baik untuk menulis perkhidmatan tersuai yang dikeluarkan secara modular dan boleh diselenggara. Walau bagaimanapun, semasa pembangunan, terdapat senario yang memerlukan Node.js berinteraksi dengan bahasa pengaturcaraan lain. Artikel ini akan membincangkan cara melaksanakan komponen COM menggunakan Node.js.
Komponen COM (Model Objek Komponen) ialah antara muka binari universal menggunakan sistem pengendalian Windows, yang membolehkan bahasa pengaturcaraan berbeza berinteraksi dengan aplikasi atau objek lain untuk penyepaduan yang lebih baik. Dalam sistem pengendalian Windows, aplikasi dan objek boleh berkomunikasi antara satu sama lain melalui kod asli menggunakan komponen COM. Beberapa contoh mudah termasuk menggunakan objek Microsoft Word untuk mencetak dokumen secara automatik dan menggunakan objek Microsoft Excel untuk menambah data secara automatik pada hamparan.
Walaupun Node.js sendiri ialah perisian bebas yang berdiri sendiri, terdapat banyak perpustakaan pihak ketiga yang tersedia dalam ekosistem yang boleh digunakan untuk melaksanakan berkaitan Windows tugasan. Objek COM dalam Node.js biasanya digunakan menggunakan kelas ActiveXObject. ActiveXObject ialah objek yang membenarkan automasi objek COM dalam JavaScript.
Sebelum anda mula menggunakan Node.js untuk melaksanakan komponen COM, anda mesti memasang Node.js terlebih dahulu. Pergi ke tapak web rasmi Node.js, muat turun dan ikut gesaan.
Sebelum anda mula menggunakan komponen COM, anda mesti memasang objek COM dan menambahnya pada pendaftaran Windows. Banyak objek, seperti ADO (ActiveX Data Objects) dan CDONTS (boleh digunakan untuk .NET), boleh dimuat turun dan dipasang dari tapak Web Microsoft.
Mari kita ambil Microsoft Excel sebagai contoh Anda perlu pergi ke tapak web rasmi Microsoft untuk memuat turun dan memasang komponen Excel dalam Microsoft Office. Setelah pemasangan selesai, tambahkan komponen Excel pada pendaftaran Windows.
Menggunakan kelas ActiveXObject memudahkan untuk memanggil komponen COM daripada kod Node.js. Dalam kod JavaScript, gunakan operator baharu untuk membuat instantiate kelas ActiveXObject dan lulus nama komponen COM yang perlu dipanggil dan nombor versinya.
Berikut ialah contoh beberapa komponen COM yang biasa digunakan dan aplikasi miliknya:
'Microsoft Excel var excel = new ActiveXObject('Excel.Application'); 'Microsoft Word var word = new ActiveXObject('Word.Application'); 'Microsoft Access var access = new ActiveXObject('Access.Application'); 'Microsoft PowerPoint var powerpoint = new ActiveXObject('PowerPoint.Application'); 'Microsoft Internet Explorer 和 Windows Media Player等其他应用程序 var ie = new ActiveXObject('InternetExplorer.Application'); var wmp = new ActiveXObject('WMPlayer.OCX');
Selepas membuat instantiation ActiveXObject, kita boleh menggunakan kaedah dan sifat yang disediakan oleh komponen COM. Berikut ialah contoh membaca data lembaran kerja daripada Excel:
var excel = new ActiveXObject('Excel.Application'); excel.Workbooks.Open('D:\test.xlsx'); var sheet = excel.Worksheets(1); // 读取第一行第二列的单元格数据 var data = sheet.Cells(1, 2).Value; console.log('读取到的数据:' + data); excel.Quit();
Banyak komponen COM menyediakan akses kepada sistem fail. Dalam Node.js, kami biasanya menggunakan fs (modul sistem fail) untuk menangani fail dan direktori. Walau bagaimanapun, sesetengah operasi mungkin memerlukan penggunaan kaedah khusus sistem pengendalian Windows. Dalam kes ini, menggunakan komponen COM untuk operasi fail menjadi berguna.
Berikut ialah beberapa operasi fail biasa dan komponen COM yang mereka gunakan:
Komponen COM yang digunakan untuk mengakses sifat fail dan metadata ialah Hos Skrip Windows Standard (WSH) objek. Komponen COM ini termasuk objek yang dipanggil FileSystemObject, yang mendedahkan beberapa kaedah dan sifat untuk mengakses sifat fail dan direktori.
Berikut ialah beberapa contoh membaca fail menggunakan objek WScript.Shell (yang mengandungi kaedah untuk berinteraksi dengan sistem):
var wsh = new ActiveXObject('WScript.Shell'); var fso = new ActiveXObject('Scripting.FileSystemObject'); // 获取文件大小 var size = fso.GetFile('D:\test.docx').Size; // 获取文件路径 var path = wsh.ExpandEnvironmentStrings('%USERPROFILE%') + '\Desktop'; // 获取计算机上的所有驱动器 var drives = fso.Drives; for (var e = new Enumerator(drives); !e.atEnd(); e.moveNext()) { console.log(e.item().DriveLetter); }
Untuk berinteraksi dengan komponen COM pangkalan data ialah ADO dan ODBC. ADO (ActiveX Data Objects) ialah model objek yang dibangunkan oleh Microsoft untuk menyambung ke pelbagai sumber data. ODBC (Open Database Connectivity) juga merupakan API yang digunakan untuk menyambungkan sistem pangkalan data yang berbeza.
Berikut ialah beberapa contoh mendapatkan semula data daripada pangkalan data:
var connection = new ActiveXObject('ADODB.Connection'); connection.Open('Provider=SQLOLEDB.1;Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;'); var recordset = new ActiveXObject('ADODB.Recordset'); recordset.Open('SELECT * FROM Customers', connection); while (!recordset.EOF) { console.log('读取到的数据:' + recordset.Fields(1).Value); recordset.MoveNext(); } recordset.Close(); connection.Close();
Menggunakan komponen COM membolehkan kami menggunakan banyak bahasa yang disokong oleh persekitaran Windows dalam Node. js, tetapi juga membolehkan kami mencari perpustakaan dan komponen pihak ketiga baharu dalam ekosistem. Artikel ini memperkenalkan asas pelaksanaan komponen COM dalam program Node.js. Saya harap ini membantu dan menggalakkan anda mencuba teknik ini dan meneroka lebih banyak kemungkinan!
Atas ialah kandungan terperinci Nodejs melaksanakan komponen com. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!