Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku.

青灯夜游
Lepaskan: 2022-12-02 21:06:11
ke hadapan
4885 orang telah melayarinya

Bagaimana untuk membungkus fail boleh laku nodejs dengan pkg? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pkg untuk membungkus projek Node ke dalam fail boleh laku, saya harap ia akan membantu anda!

Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku.

Menggunakan pkg, anda boleh membungkus projek Node.js anda ke dalam fail boleh laku yang malah boleh dijalankan pada peranti yang Node.js tidak dipasang. [Cadangan tutorial berkaitan: tutorial video nodejs]

Persekitaran eksperimen

  • Sistem pengendalian: tingkap

  • versi nod: 16.14.2

Proses operasi

  • Muat turun PKG

Kita boleh memilih untuk memasangnya secara global dan melaksanakannya dalam mana-mana direktori:

$ npm install -g pkg
Salin selepas log masuk
  • Program pembungkusan

Mula-mula tulis atur cara mudah, seperti kandungan server.js

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(3000, () => {
    console.log('Express web app on localhost:3000');
});
Salin selepas log masuk

Masukkan direktori akar projek nodejs dan laksanakan arahan berikut

$ pkg server.js
Salin selepas log masuk

Ralat pertama dilaporkan

Ralat akan dilaporkan pada masa ini

$ pkg server.js
> pkg@5.6.0
> Targets not specified. Assuming:
  node16-linux-x64, node16-macos-x64, node16-win-x64
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v16.14.2-linux-x64          [                    ] 0%> Not found in remote cache:
  {"tag":"v3.3","name":"node-v16.14.2-linux-x64"}
> Building base binary from source:
  built-v16.14.2-linux-x64
> Error! Not able to build for 'linux' here, only for 'win'
Salin selepas log masuk

Idea umum ialah persekitaran semasa hanya menyokong boleh laku fail yang disusun ke dalam sistem windows, iaitu win

Arahan pelarasan ialah:

$ pkg -t win server.js
Salin selepas log masuk

di mana -t win bersamaan dengan --targets win, yang bermaksud fail hanya disusun untuk tingkap.

Ralat kedua telah dilaporkan

Ralat dilaporkan sekali lagi semasa penyusunan:

$ pkg -t win server.js
> pkg@5.6.0
> Fetching base Node.js binaries to PKG_CACHE_PATH
  fetched-v16.14.2-win-x64            [                    ] 0%> Not found in remote cache:
  {"tag":"v3.3","name":"node-v16.14.2-win-x64"}
> Building base binary from source:
  built-v16.14.2-win-x64
> Fetching Node.js source archive from nodejs.org...
> Error! AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
Salin selepas log masuk

Idea utama ialah fail binari yang sepadan diambil -v16.14.2 tiada dari cache -win-x64, kami hanya perlu memuat turun fail yang sepadan dan meletakkannya dalam direktori cache yang sepadan.

1. Pergi ke laman web rasmi untuk memuat turun fail versi yang sepadan Contohnya, saya ialah node-v16.14.2-win-x64

Alamat tapak web rasmi: https://github.com /vercel/pkg-fetch/releases

Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku.

2. Namakan semula fail nod-v16.14.2-win-x64 yang dimuat turun dalam langkah sebelumnya kepada fetched-v16.14.2-win -x64, letakkannya dalam direktori cache pengguna semasa.

Sebagai contoh, direktori cache saya ialah C:UsersMangoDowner.pkg-cache Selepas menyambung teg ambil, ia menjadi direktori terakhir Rujuk kepada maklumat dalam laporan ralat dan anda boleh dapatkan bahawa teg itu ialah v3.3

 {"tag":"v3.3","name":"node-v16.14.2-win-x64"}
Salin selepas log masuk

Kita boleh mendapatkan direktori induk akhir sebagai C:UsersMangoDowner.pkg-cachev3.3,
jadi alamat fail terakhir ialah C:UsersMangoDowner.pkg -cachev3.3fetched-v16. 14.2-win-x64

Kompil semula, berjaya!

$ pkg -t win server.js
> pkg@5.6.0
Salin selepas log masuk

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!