ホームページ  >  記事  >  ウェブフロントエンド  >  ノードパッケージ化ツール Pkg (詳細なチュートリアル)

ノードパッケージ化ツール Pkg (詳細なチュートリアル)

亚连
亚连オリジナル
2018-06-09 17:07:0210868ブラウズ

今回は、ノードベースの実行ファイルパッケージングツール_Pkgの使用体験共有に基づいた記事を共有します。これは参考価値があり、皆様のお役に立てれば幸いです。

プロジェクトアドレス

このプロジェクトは素晴らしいもので、node.jsプロジェクトをWindowsで直接実行できるexeファイルにパッケージ化しています(FreeBSD、Linux、macos、armシステムもサポートしています)。 Node.js をインストールする必要もありませんし、プロジェクト内のコードを変更する必要もありません。

まず pkg

npm install -g pkg

をインストールし、プロジェクト ディレクトリで

pkg entrance.js

を実行して、Linux、MacOS、Win プラットフォーム用の実行可能ファイルをパッケージ化します。 entry.js は、ノード プロジェクトの入り口ファイルです。

Windows 上で exe をパッケージ化するだけの場合は、-t パラメータを追加します。 win は、Windows プラットフォームでパッケージ化された exe ファイルです。特定のオプションのパラメーターについては、プロジェクト ディレクトリを参照してください

pkg -t win entrance.js

しばらくすると、パッケージ化されたentry.exe ファイルがプロジェクト ディレクトリに生成されます。

pkg は、プロジェクト内のコードを変更せずに、エントリ ファイルから開始して依存ファイルを自動的に検索し、それらをすべてパッケージ化します。

その他

pkgは、package.jsonの下の設定に従ってパッケージ化できます。デフォルトのエントリファイルは、binが指すファイルです。

pkg .

または

pkg package.json

を実行すると、package.jsonの設定に従って自動的にパッケージ化されます。

//package.json
{
 //其他配置项
 "bin": "service.js",//入口文件
 "pkg": {
 "scripts": [
  "build/**/*.js"//需要打包进来的其他js文件,可添加多个
 ],
 "assets": [
  "dist/**/*"//静态文件的目录,可添加多个
 ]
 }
}

注: 静的ファイルは、通常にパッケージ化する前に、プロジェクト内のファイル参照を

path.join(__dirname, 'dist')

の形式に変更する必要があります。そうしないと、読み取れない可能性があります。

vue-cli を使用してプロジェクトをビルドし、npm run build を使用してプロジェクトをコンパイルし、dist ディレクトリに静的ファイルを生成します。これらはすべて vue-cli に付属する内容なので、詳細は説明しません。

プロジェクト ディレクトリに新しい service.js ファイルを作成し、次のコードを追加して高速静的サーバーをローカルにセットアップし、Web サイトにローカルでアクセスできるようにします (オンラインで展開する場合も同様です)

//service.js
const express = require('express');
const app = express();
const path = require('path');
 
app.use(express.static(path.join(__dirname, 'dist')));//注意这里使用path.join(__dirname, 'dist')而不是'dist',虽然在命令行中执行起来效果是一样的,不过pkg打包会无法识别到dist目录
 
var server = app.listen(8081, function () {
 var host = server.address().address
 var port = server.address().port
 console.log(`AIbuy agents server start successfully on http://${host}:${port}`)
})

This At今回は、コンソールで

node service.js

を実行してサーバーを起動できます。起動が完了したら、ブラウザで http://localhost:8081/ にアクセスして Web サイトを表示します。

次に、他の人の便宜のために、service.js と dist ディレクトリを exe ファイルにパッケージ化します。

まず pkg をインストールします

npm install -g pkg

次に、package.json を変更し、bin (サービスでない場合) を追加します。 js) と pkg item

{
 //其他配置项
 "bin": "service.js",//指定入口文件
 "pkg": {
 "assets": [
  "dist/**/*"//指定要打包的静态文件目录
 ]
 }
}

を作成し、プロジェクト ディレクトリで

pkg -t win package.json

を実行すると、node service.js を実行したのと同じ exe ファイルが生成されます。ブラウザで (http://localhost:8081/) プロジェクトが詰まっています。事前にノードをインストールする必要がなく、上司へのデモに非常に便利です。

上記は私があなたのためにまとめたものです。

関連記事:

vue+lessを使った簡単なスキン変更機能の実装方法

angular、react、vueを使って同じインタビュー質問コンポーネントを実装する方法

jQueryを使ってスクロール時の自動読み込みを実装する最後へ

Angular2.0でモーダルダイアログボックスを実装する方法

JSでモーションバッファリング効果を実装する方法(詳細なチュートリアル)

以上がノードパッケージ化ツール Pkg (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。