tlmgr-electron-react 项目使用教程

tlmgr-electron-react 项目使用教程

tlmgr-electron-reacttlmgr gui using electron and react项目地址:https://gitcode.com/gh_mirrors/tl/tlmgr-electron-react

1. 项目的目录结构及介绍

tlmgr-electron-react/
├── assets/
├── build/
├── docs/
├── node_modules/
├── src/
│   ├── components/
│   ├── containers/
│   ├── redux/
│   ├── styles/
│   ├── App.js
│   ├── index.js
│   └── main.js
├── .babelrc
├── .gitignore
├── package.json
├── README.md
└── webpack.config.js
  • assets/: 存放项目所需的静态资源,如图片、字体等。
  • build/: 存放构建后的文件,用于部署。
  • docs/: 存放项目文档。
  • node_modules/: 存放项目依赖的npm包。
  • src/: 项目源代码目录。
    • components/: 存放React组件。
    • containers/: 存放React容器组件。
    • redux/: 存放Redux相关文件,如actions、reducers等。
    • styles/: 存放样式文件。
    • App.js: 主应用组件。
    • index.js: 入口文件,用于渲染React组件到DOM。
    • main.js: Electron的主进程文件。
  • .babelrc: Babel配置文件。
  • .gitignore: Git忽略文件配置。
  • package.json: 项目配置文件,包含依赖、脚本等信息。
  • README.md: 项目说明文档。
  • webpack.config.js: Webpack配置文件。

2. 项目的启动文件介绍

main.js

main.js 是Electron的主进程文件,负责创建窗口和管理应用的生命周期。

const { app, BrowserWindow } = require('electron');
const path = require('path');

function createWindow() {
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js'),
    },
  });

  mainWindow.loadFile('index.html');
}

app.whenReady().then(() => {
  createWindow();

  app.on('activate', function () {
    if (BrowserWindow.getAllWindows().length === 0) createWindow();
  });
});

app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') app.quit();
});

index.js

index.js 是React应用的入口文件,负责渲染React组件到DOM。

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

3. 项目的配置文件介绍

package.json

package.json 是项目的配置文件,包含项目的基本信息、依赖、脚本等。

{
  "name": "tlmgr-electron-react",
  "version": "1.0.0",
  "description": "TeX Live Manager GUI using Electron and React",
  "main": "src/main.js",
  "scripts": {
    "start": "electron .",
    "build": "webpack",
    "test": "jest"
  },
  "dependencies": {
    "electron": "^13.1.7",
    "react": "^17.0.2",
    "react-dom": "^17.0.2"
  },
  "devDependencies": {
    "webpack": "^5.38.1",
    "webpack-cli": "^4.7.2",
    "babel-loader": "^8.2.2",
    "jest": "^27.0.4"
  }
}

webpack.config.js

webpack.config.js 是Webpack的配置文件,用于打包和优化前端资源。

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'build'),
    filename: 'bundle

tlmgr-electron-reacttlmgr gui using electron and react项目地址:https://gitcode.com/gh_mirrors/tl/tlmgr-electron-react

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是基于 ReactElectron 并使用 electron-builder 进行打包的教程: 1. 创建 React 应用 首先,我们需要使用 create-react-app 工具创建一个 React 应用。在命令行中运行以下命令: ``` npx create-react-app my-electron-app ``` 这会在当前目录下创建一个名为 `my-electron-app` 的新应用。 2. 添加 Electron 接下来,我们需要在项目中添加 Electron。我们可以使用 `electron` 和 `electron-builder` 库来实现这一点。 在命令行中运行以下命令: ``` cd my-electron-app npm install --save-dev electron electron-builder ``` 3. 添加 Electron 入口文件 我们需要创建一个新文件 `public/electron.js`,这是 Electron 的入口文件。在这个文件中,我们需要引入 `electron` 模块并创建一个新的 Electron 窗口。 ```js const { app, BrowserWindow } = require('electron') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadURL('http://localhost:3000') } app.whenReady().then(() => { createWindow() app.on('activate', function () { if (BrowserWindow.getAllWindows().length === 0) createWindow() }) }) app.on('window-all-closed', function () { if (process.platform !== 'darwin') app.quit() }) ``` 这个文件创建了一个新的 Electron 窗口,并在窗口中加载了 React 应用的 `http://localhost:3000` 页面。 4. 修改 package.json 文件 我们需要修改 `package.json` 文件中的一些字段,以便 electron-builder 能够正确地打包我们的应用。 ```json { "name": "my-electron-app", "version": "0.1.0", "homepage": "./", "main": "public/electron.js", "build": { "appId": "com.example.my-electron-app", "productName": "My Electron App", "directories": { "output": "build" }, "files": [ "build/**/*", "node_modules/**/*", "public/**/*" ], "mac": { "category": "public.app-category.developer-tools", "icon": "public/icon.icns" }, "win": { "icon": "public/icon.ico" } } } ``` 这个文件中的 `main` 字段告诉 electron-builder 我们的 Electron 入口文件在 `public/electron.js`。`build` 字段中的其他字段指定了打包的一些设置,例如应用的 ID、名称、输出目录、文件列表和图标。 5. 添加打包脚本 最后,我们需要在 `package.json` 文件中添加一个打包脚本。 ```json { "scripts": { "start": "react-scripts start", "build": "react-scripts build", "pack": "electron-builder --dir", "dist": "electron-builder" } } ``` 这些脚本中的 `pack` 脚本会在开发模式下打包应用程序,而 `dist` 脚本会在生产模式下打包应用程序。 6. 运行应用 现在,我们可以运行应用程序。在命令行中运行以下命令: ``` npm start ``` 这将启动 React 应用程序。 然后,在另一个命令行窗口中运行以下命令: ``` npm run pack ``` 这将使用 `electron-builder` 打包应用程序,并在输出目录中生成一个可执行文件。 如果您想要构建一个安装程序,您可以运行以下命令: ``` npm run dist ``` 这将打包应用程序,并在输出目录中生成一个安装程序。 这就是使用 ReactElectron 并使用 electron-builder 进行打包的教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏磊讳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值