作者: erishen

  • WordPress Tools

    • Github 链接
    • 创建 .env 文件,配置
      • WORDPRESS_URL=""
      • WORDPRESS_USERNAME=""
      • WORDPRESS_APP_PASSWORD=""
    • npm run write *.md 写文章到 WORDPRESS_URL
  • 使用 Electron 和 React 创建桌面应用程序

    原文链接

    Electron 是一个流行的框架,它允许开发人员使用 HTML、CSS 和 JavaScript 等 Web 技术构建跨平台桌面应用程序。通过将 Electron 与用于构建用户界面的强大 JavaScript 库 React 相结合,我们可以创建功能丰富的桌面应用程序,这些应用程序的感觉和行为就像 Windows、macOS 和 Linux 上的本机应用程序一样。

    在本教程中,我们将引导您完成使用 Electron 和 React 创建简单桌面应用程序的过程。我们将介绍如何设置开发环境、创建基本的 React 应用程序、将其与 Electron 集成以及为不同平台构建可分发包。

    先决条件

    在开始之前,请确保您的系统上安装了以下软件:

    1. Node.js 和 npm(Node 包管理器):访问官方网站(https://nodejs.org/)并按照适合您操作系统的安装说明安装 Node.js 和 npm。

    步骤 1:设置新的 React 应用程序

    让我们首先使用 设置一个新的 React 应用程序create-react-app

    1. 打开终端或命令提示符并运行以下命令来创建一个新的 React 应用程序:
    npx create-react-app electron-react-app

    2. 安装完成后,导航到新创建的项目目录:

    cd electron-react-app

    3. 要验证一切设置是否正确,请运行开发服务器:

    npm 启动

    现在,你应该可以看到 React 应用程序在你的浏览器中运行http://localhost:3000

    第 2 步:安装 Electron

    接下来,我们将安装 Electron 并配置我们的 React 应用程序以使用它。

    1. Ctrl+C通过按下终端来停止开发服务器。
    2. 使用 npm安装 Electron 并electron-builder作为开发依赖项:
    npm install electron electron-is-dev electron-builder -D

    该命令还安装了一个名为的有用 npm 包,electron-is-dev用于检查我们的 electron 应用程序是在开发中还是在生产中。您使用该-D标志在 dev 依赖项下安装 electron。

    步骤3:配置Electron

    现在,我们将配置 Electron 来运行我们的 React 应用程序。

    1. 在项目的根目录中,创建一个名为 的新文件electron.js。该文件将作为我们的 Electron 应用程序的主要入口点。
    2. 在您喜欢的代码编辑器中打开electron.js并添加以下代码:
    // electron.js 
    const { app, BrowserWindow } = require(“electron”);
    const path = require(“path”);

    let mainWindow;

    function createWindow(){
    mainWindow = new BrowserWindow({
    width:800,
    height:600,
    webPreferences:{
    nodeIntegration:true,
    },
    });

    (async () => {
    const isDev = (await import('electron-is-dev')).default;

    const startURL = isDev
    ? 'http://localhost:3000'
    : `file://${path.join(__dirname, '../build/index.html')}`;

    mainWindow.loadURL(startURL);
    })();

    mainWindow.loadURL (startURL);mainWindow.on

    (“ closed”,()=>(mainWindow = null));}
    app.on

    (“ ready ”,createWindow);

    app. on ( 'window-all-closed' , () => {
    if (process.platform ! == ' darwin' ) {
    app.quit (); } }); app.on ( 'activate' , () => { if (mainWindow === null ) { createWindow (); } });

    此代码设置了主 Electron 应用程序窗口,并在开发模式下从开发服务器加载 React 应用程序,或在生产模式下从构建目录加载 React 应用程序。

    步骤 4:更新package.json

    为了让 Electron 知道我们的主要入口文件和构建目录,我们需要修改该package.json文件。

    1. 打开package.jsonJSON 对象并在其内添加以下行:
    // package.json 
    {
    // ...
    "main" : "electron.js" ,

    "build" : {
    "appId" : "com.example.myapp" ,
    "productName" : "我的 Electron 应用" ,
    "directories" : {
    "output" : "dist"
    }
    } ,
    "scripts": {
    // ...
    "electron": "electron .",
    "dist": "electron-builder"
    },

    // ...
    }

    字段"main"指定了 Electron 的入口点,"build"部分提供了的配置选项electron-builder,包括appIdproductName和分发的输出目录。

    步骤 5:运行 Electron

    现在,让我们测试我们的 Electron 应用程序。

    1. 通过运行以下命令启动 React 应用程序的开发服务器:
    npm start

    2. 在单独的终端或命令提示符中,运行 Electron 应用程序:

    npm run electron

    现在您应该看到您的 React 应用程序在独立的 Electron 窗口中运行。

    步骤 6:构建可分发包

    要打包并分发你的 Electron 应用程序给用户,你需要创建特定于平台的可分发包。electron-builder使这个过程更容易。

    1. 在构建包之前,请停止正在运行的 Electron 应用程序和 React 开发服务器。
    2. 要为您当前的平台构建包,请运行以下命令:
    npm run build

    该命令将在dist目录中生成一个可分发的包。

    要为多个平台构建包,可以使用以下命令:

    npm run dist

    上述命令将在dist目录中创建适用于 Windows、macOS 和 Linux 的包。

    恭喜!您已成功使用 Electron 和 React 创建了桌面应用程序。现在您可以将应用程序分发给不同平台上的用户。

    结论

    Electron 和 React 为构建跨平台桌面应用程序提供了强大的组合。通过本教程,您已经学会了如何设置 React 应用程序、将其与 Electron 集成以及将其打包以供分发。

    请记住,本教程仅涵盖基础知识,您可以使用 Electron 和 React 做更多事情来构建复杂的桌面应用程序。浏览 Electron 和 React 文档以发现更多高级功能和适合您项目的可能性。祝您编码愉快!

    项目链接

  • 牛客网 – 字符串排序

    https://www.nowcoder.com/share/jump/55776421719927926899

    描述

    给定 n 个字符串,请对 n 个字符串按照字典序排列。

    数据范围: 1≤𝑛≤1000  ,字符串长度满足 1≤𝑙𝑒𝑛≤100 

    输入描述:

    输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。

    输出描述:

    数据输出n行,输出结果为按照字典序排列的字符串。

    const rl = require("readline").createInterface({ input: process.stdin });
    var iter = rl[Symbol.asyncIterator]();
    const readline = async () => (await iter.next()).value;
    
    let num = 0;
    const strArr = [];
    
    void (async function () {
        // Write your code here
        while ((line = await readline())) {
            if (num === 0) {
                num = parseInt(line.trim(), 10);
            } else {
                strArr.push(line.trim());
    
                const strArrLen = strArr.length;
                if (strArrLen === num) {
                    strArr.sort((a, b) => {
                        return a > b ? 1 : -1;
                    });
    
                    strArr.forEach((item, index) => {
                        console.log(item);
                    });
                }
            }
        }
    })();
    
  • 牛客网 – 质数因子

    https://www.nowcoder.com/share/jump/55776421719918468907

    描述

    功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

    数据范围:1≤n≤2×109+14 

    输入描述:

    输入一个整数

    输出描述:

    按照从小到大的顺序输出它的所有质数的因子,以空格隔开。

    示例1

    输入:

    180
    

    复制

    输出:

    2 2 3 3 5
    const rl = require("readline").createInterface({
        input: process.stdin
    });
    var iter = rl[Symbol.asyncIterator]();
    const readline = async () => (await iter.next()).value;
    
    void async function () {
        while (line = await readline()) {
            let num = parseInt(line.trim());
            let factors = getPrimeFactors(num);
            console.log(factors.join(' '));
        }
    }()
    
    function getPrimeFactors(n) {
        let factors = [];
        
        // 处理2的因子
        while (n % 2 === 0) {
            factors.push(2);
            n = Math.floor(n / 2);
        }
        
        // 从3开始处理其他质因子
        let factor = 3;
        while (factor * factor <= n) {
            while (n % factor === 0) {
                factors.push(factor);
                n = Math.floor(n / factor);
            }
            factor += 2;
        }
        
        // 如果 n 本身是一个大于2的质数
        if (n > 2) {
            factors.push(n);
        }
        
        return factors;
    }
    
  • 米老鼠

    米老鼠是华特·迪士尼公司创造的一个经典动画角色,也是迪士尼形象中最具代表性的角色之一。他是一只白色的老鼠,通常穿着红色的短裤、大黄鞋和白手套,头戴一顶红色的帽子。米老鼠以其乐观、勇敢和善良的性格而闻名,成为了许多人童年的偶像之一。

    米老鼠的首次亮相是在1928年的动画短片《米老鼠船长》中,由华特·迪士尼亲自创作。这部短片不仅是迪士尼公司的第一部有声动画,也标志着米老鼠形象的诞生。随后,米老鼠成为了迪士尼动画的代表性角色,出现在了数以百计的动画短片、电影、电视节目和商品中。

    米老鼠的形象代表了乐观、坚韧和友善的品质,他与好朋友唐老鸭、高飞等一起,经历了无数冒险和故事。他也是迪士尼乐园中的重要角色,成为了各大迪士尼乐园的象征之一。

    无论是在动画界还是在流行文化中,米老鼠都是一个不朽的经典,代表着迪士尼公司的核心价值观和娱乐精神。

  • 鹦鹉

    有一个有趣的故事是关于罗马帝国皇帝克劳狄乌斯(Claudius)和他的一只鹦鹉。据说,克劳狄乌斯非常喜爱鹦鹉,甚至训练它说一些拉丁语。

    这只鹦鹉对于宫廷来说是一个非常新奇的玩意儿,因为大多数罗马人当时并不熟悉鹦鹉。克劳狄乌斯的鹦鹉被教会了一些经典的拉丁语片段,有时甚至会在宴会上模仿一些皇帝的声音,引得宾客们捧腹大笑。

  • Sharky

    在一个温暖的海湾里,有一只名叫Sharky的鲨鱼,它有着独特的超级能力。Sharky不仅喜欢游泳和跃出水面,还有一项特别的任务——帮助其他海洋生物刷牙。每当有鱼朋友遇到牙齿问题时,Sharky就会出现,轻轻地帮助它们清洁牙齿,让它们再次展示美丽的微笑。其他海洋生物都非常喜欢Sharky,它们称赞它是最友好和勇敢的海洋超级英雄。每天,Sharky都在海湾里播撒着幸福,因为它知道,一个洁白的微笑可以带来无限的快乐和自信。