NarraLeaf Desktop
Project Config
narraleaf.config.js、必須のフォルダ、renderer のパス、開発用ポート、リソース、パッケージング出力を設定する
narraleaf.config.js は、CLI が dev、build、info を実行する前に読み込まれます。main のエントリの場所、renderer アプリの場所、アプリのパッケージ方法を制御します。
基本設定
const {
ArchType,
BuildTarget,
WindowsBuildTarget,
} = require("narraleaf/config");
module.exports = {
main: "main/index.ts",
renderer: {
baseDir: "renderer",
allowHTTP: false,
httpDevServer: false,
},
temp: ".narraleaf",
resources: "assets",
dev: {
port: 5050,
},
build: {
appId: "com.example.visualnovel",
productName: "My Visual Novel",
dist: "dist",
dev: false,
targets: BuildTarget.Windows({
target: WindowsBuildTarget.nsis,
arch: ArchType.x64,
}),
},
};必須ファイル
CLI は次のファイルとフォルダを検証します。
package.json:空でないname、version、descriptionを含む必要があります。narraleaf.config.js:プロジェクトの設定オブジェクトをエクスポートする必要があります。- main のエントリ:デフォルトは
main/index.jsです。 - renderer のベースディレクトリ:デフォルトは
rendererです。 - renderer のアプリコンポーネント:
renderer/App.tsxまたはrenderer/App.jsx。 - renderer のページディレクトリ:
renderer/pages。 - renderer の public ディレクトリ:
renderer/public。
設定フィールド
main
主プロセスのエントリファイルです。Electron の main 用にバンドルされ、AppConfig でアプリを作成する必要があります。
module.exports = {
main: "main/index.ts",
};renderer
renderer プロジェクトのルートと開発時のアセットモードを制御します。
baseDir:renderer プロジェクトのディレクトリ。allowHTTP:生成される CSP で、画像にhttp:とhttps:の送信元を許可します。httpDevServer:開発中に renderer の出力を HTTP で配信します。httpDevServerPort:デフォルトは5051です。
module.exports = {
renderer: {
baseDir: "renderer",
allowHTTP: true,
httpDevServer: true,
httpDevServerPort: 5051,
},
};temp
生成されるビルド出力と開発出力に使われるディレクトリです。デフォルトは .narraleaf です。
module.exports = {
temp: ".narraleaf",
};resources
Electron Builder によってパッケージ化されたアプリにコピーされる追加のリソースです。
module.exports = {
resources: "assets",
};dev
CLI と実行中のアプリが使う開発用 WebSocket ポートです。
module.exports = {
dev: {
port: 5050,
},
};build
Electron Builder に渡されるパッケージングオプションです。
appId:アプリケーション識別子。productName:パッケージ化された製品名。copyright:著作権表示のテキスト。dist:出力ディレクトリ。dev:true の場合、開発向けの高速なパッケージングを使用します。targets:1 つのPlatformBuildTarget、または配列。
ターゲット用のヘルパーは ビルドターゲット を参照してください。
デフォルト値
省略した場合、NarraLeaf は次のデフォルト値をあなたの設定にマージします。
{
build: {
appId: "com.example.App",
copyright: "",
dev: false,
dist: "dist",
productName: "Example App",
targets: [],
},
main: "main/index.js",
renderer: {
baseDir: "renderer",
allowHTTP: false,
httpDevServer: false,
httpDevServerPort: 5051,
},
temp: ".narraleaf",
dev: {
port: 5050,
},
resources: "assets",
}