🪟 Windows TippsModify Windows Support Phone Number with PowerShell(03.09.2026 um 00:00 Uhr)
🔧 AI Nachrichten Podcast: ChatGPT schwatzt Nutzern in Deutschland jetzt Werbung auf(28.08.2026 um 08:46 Uhr)
🪟 Windows TippsMicrosoft bringt Emoji 17.0 auf Windows 11(31.08.2026 um 08:16 Uhr)
🪟 Windows TippsModify Windows Support Phone Number with PowerShell(03.09.2026 um 00:00 Uhr)
🔧 AI Nachrichten Podcast: ChatGPT schwatzt Nutzern in Deutschland jetzt Werbung auf(28.08.2026 um 08:46 Uhr)
🪟 Windows TippsMicrosoft bringt Emoji 17.0 auf Windows 11(31.08.2026 um 08:16 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 2 Min Lesezeit
0

napi-rs的使用

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht




安装 @napi-rs/cli






CODE
npm install -g @napi-rs/cli









创建项目






CODE
napi new my-project






写入以下内容到my-project/src/lib.rs文件:




CODE
#![deny(clippy::all)]

use image::codecs::png::{CompressionType, FilterType, PngEncoder};
use image::Luma;
use qrcode::{EcLevel, QrCode};
#[macro_use]
extern crate napi_derive;

#[napi]
pub fn sum(a: i32, b: i32) -> i32 {
a + b
}

#[napi]
pub fn generate_qr_code(text: String) -> Result<Vec<u8>, napi::Error> {
let qr = QrCode::with_error_correction_level(&text, EcLevel::L)
.map_err(|e| napi::Error::new(napi::Status::Unknown, e.to_string()))?;
let img_buf = qr.render::<Luma<u8>>().min_dimensions(200, 200).build();
let mut encoded_buf = Vec::with_capacity(512);
let encoder = PngEncoder::new_with_quality(
&mut encoded_buf,
CompressionType::Default,
FilterType::NoFilter,
);
img_buf
.write_with_encoder(encoder)
.map_err(|e| napi::Error::new(napi::Status::Unknown, e.to_string()))?;
Ok(encoded_buf)
}









编译项目






CODE
cd my-project
npm run build









使用项目






创建文件test.js






CODE
const express = require('express');
const utils = require('./index.js'); // 确保 index.js 中有 sum 和 generateQrCode 方法

const app = express();
const PORT = 3000;

// 设置一个 API 接口生成 QR 码
app.get('/qrcode', (req, res) => {
try {
const data = utils.generateQrCode('https://www.google.com');

const buffer = Buffer.from(data);

const base64Image = buffer.toString('base64');

const dataUrl = `data:image/png;base64,${base64Image}`;

res.json({ qrcode: dataUrl });
} catch (error) {
console.error(error);
res.status(500).json({ error: '生成 QR 码时出错' });
}
});

// 启动服务器
app.listen(PORT, () => {
console.log(`服务正在运行,监听端口 ${PORT}`);
});









运行项目






CODE
node test.js


Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Modify Windows Support Phone Number with PowerShell
1 Quelle
Die Zukunft des Einkaufens: Warum wir ein neues Kapitel aufschlagen (und wie du es mitschreiben kannst)
1 Quelle
ZDE Podcast 251: Wie sieht digitales Instore Marketing 2026 aus, Amit Chatterjee?
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten napi-rs的使用

Thematisch verwandte Begriffe: napirs的使用 · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...