Rumah > hujung hadapan web > tutorial js > Bagaimana untuk menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku?

Bagaimana untuk menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku?

青灯夜游
Lepaskan: 2022-07-29 21:03:34
ke hadapan
3914 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!

Bagaimana untuk menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku?

Menggunakan pkg, projek Node.js boleh dibungkus sebagai fail boleh laku, malah boleh dijalankan pada peranti yang tidak mempunyai Node. js dipasang.

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

Pertama 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 fail boleh laku yang disusun ke dalam sistem windows, iaitu kemenangan

arahan pelarasan ialah:

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

Antaranya, -t win adalah bersamaan dengan --targets win, yang bermaksud bahawa 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

Bagaimana untuk 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 Bagaimana untuk 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