русский

Как скачать библиотеку .js?

Heute, 12:18
Re: Как скачать библиотеку .js?
 
daduda старожил
daduda
in Antwort 7495 Heute, 09:42

Побуду немного промт инженером.


Смотри, тут есть важный нюанс:

у bitcoinjs-lib нет готового официального минифицированного browser-бандла (типа dist/bitcoinjs.min.js) для версии 7.0.0. Рекомендованный способ — собрать свой минифицированный бандл (Webpack/esbuild/Rollup) и уже его подключать на страницу.

Ниже дам готовый, достаточно надёжный и оптимизированный вариант «под ключ».

---

1. Фиксируем версию 7.0.0 в проекте

package.json:

{

"dependencies": {

"bitcoinjs-lib": "7.0.0"

},

"devDependencies": {

"esbuild": "^0.24.0"

}

}

Установка:

npm install

---

2. Делаем браузерный entry-файл

src/bitcoin-entry.js:

// Импортируем ВСЁ из bitcoinjs-lib

import * as bitcoin from "bitcoinjs-lib";

// Кладём в глобальное пространство, чтобы использовать в обычных <script>

window.bitcoin = bitcoin;

---

3. Сборка минифицированного бандла (надёжный и быстрый вариант через esbuild)

Скрипт в package.json:

{

"scripts": {

"build:bitcoin": "esbuild src/bitcoin-entry.js --bundle --minify --target=es2019 --outfile=public/js/bitcoinjs-lib-7.0.0.bundle.min.js"

}

}

Сборка:

npm run build:bitcoin

На выходе у тебя будет файл:

public/js/bitcoinjs-lib-7.0.0.bundle.min.js

– минифицированный, с tree-shaking, и жёстко привязанный к версии 7.0.0.

---

4. Код подключения на страницу (надёжный, оптимизированный)

Пример HTML:

<!doctype html>

<html lang="ru">

<head>

<meta charset="utf-8" />

<title>BitcoinJS Demo</title>

</head>

<body>

<h1>BitcoinJS 7.0.0 test</h1>

<!-- 1. Подключаем СВОЙ минифицированный бандл -->

<script src="/js/bitcoinjs-lib-7.0.0.bundle.min.js" defer></script>

<!-- 2. Работаем с ним уже после загрузки -->

<script>

document.addEventListener("DOMContentLoaded", () => {

// window.bitcoin задан в bitcoin-entry.js

const bitcoin = window.bitcoin;

// Пример: создать случайный P2PKH-адрес

const keyPair = bitcoin.ECPair.makeRandom();

const { address } = bitcoin.payments.p2pkh({ pubkey: keyPair.publicKey });

console.log("Generated address:", address);

});

</script>

</body>

</html>

Почему это надёжно и оптимизировано

1. Никаких сторонних «левых» CDN-бандлов (типа bitcoinjs-lib-browser старых версий) — только официальный bitcoinjs-lib@7.0.0 + твой собственный сборочный процесс.

2. Версия жёстко зафиксирована в package.json → обновление происходит только когда ты сам хочешь.

3. Минификация и tree-shaking через esbuild → минимальный вес и быстрее загрузка.

4. Всё крутится вокруг одного минифицированного файла, который ты контролируешь и можешь хэшировать, кэшировать, обслуживать через свой CDN и т.д.

---


То есть все твои хотели из-за непонимания принципов работы современного фронтенда.


Там уже больше 10 лет есть компиляторы is кода.


И они обязательны к использованию

 

Sprung zu