Logseq Publish-SPA 项目教程
1. 项目的目录结构及介绍
Logseq Publish-SPA 项目的目录结构如下:
publish-spa/
├── .github/
│ └── workflows/
│ └── publish.yml
├── cli/
│ ├── bin/
│ ├── lib/
│ └── package.json
├── docs/
│ └── README.md
├── src/
│ ├── assets/
│ ├── components/
│ ├── pages/
│ ├── styles/
│ └── index.js
├── .gitignore
├── package.json
└── README.md
目录结构介绍
- .github/workflows/publish.yml: GitHub Actions 的工作流配置文件,用于自动化发布流程。
- cli/: 包含 CLI 工具的源代码和依赖。
- docs/: 包含项目的文档文件,如 README.md。
- src/: 包含项目的源代码,包括前端组件、页面和样式文件。
- .gitignore: 指定 Git 忽略的文件和目录。
- package.json: 项目的 npm 配置文件,包含依赖和脚本。
- README.md: 项目的主文档文件,包含项目的基本信息和使用说明。
2. 项目的启动文件介绍
项目的启动文件主要是 src/index.js
,它是前端应用的入口文件。以下是 src/index.js
的基本结构:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
启动文件介绍
- import React from 'react': 引入 React 库。
- import ReactDOM from 'react-dom': 引入 ReactDOM 库,用于渲染 React 组件。
- import App from './App': 引入主应用组件
App
。 - ReactDOM.render(...): 将
App
组件渲染到 DOM 中的root
元素。
3. 项目的配置文件介绍
项目的配置文件主要包括 package.json
和 .github/workflows/publish.yml
。
package.json
package.json
文件包含了项目的元数据和依赖信息,以下是部分关键内容:
{
"name": "publish-spa",
"version": "1.0.0",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3"
},
"devDependencies": {
"eslint": "^7.23.0",
"prettier": "^2.2.1"
}
}
.github/workflows/publish.yml
.github/workflows/publish.yml
文件定义了 GitHub Actions 的工作流,用于自动化发布流程。以下是部分关键内容:
name: Publish SPA
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build
配置文件介绍
- package.json: 定义了项目的名称、版本、脚本和依赖。
- .github/workflows/publish.yml: 定义了 GitHub Actions 的工作流,包括代码检出