hsueh chiahao 555a8f382d update readme
2025-09-25 21:41:23 +08:00
2025-09-25 17:40:35 +08:00
2025-09-25 17:40:16 +08:00
2025-09-24 17:00:28 +08:00
2025-09-25 21:41:23 +08:00

website-products

官网产品页面的代码,基本思路是:

  1. 创建一个空白的 template page-react-template.php,不使用当前的模板
  2. 使用 plugin 的短代码方式,动态配置产品名称,来定位到指定目录下的文件

目前都使用 coze 生成页面,但是 coze 的代码几乎都是 react 的,目前只有 react app 的操作事项

文件说明

基本配置

/react-product-loader

  • 用于在 wordpress 中引入 react 页面的 pluigin
    • 因为使用 coze 生成的代码几乎都是 react 的
  • 放置在 plugin 文件夹下
    • wp-content/plugin/react-product-loader

page-react-template.php

  • 用于展示产品的模板页面,不使用官网默认的模板
  • 放置在当前使用的模板下面:
    • wp-content/themes/skyline-wp

产品页面

  • 产品的页面放在 wp-content/products/react-apps

流程

  1. 运行 npm run build
  2. 将生成的 dist/static/assets 下的 index-....jsindex-....css 放到 wordpress 中
  • 放在 wp-content/products/react-apps 目录下
  1. 固定ページ 中创建页面,使用 ショートコード 引入
    • 输入 [react_app app_name="alisurvey"]
    • 其中 app_name (这里是 alisurvey)是项目文件夹名字(与下面开发事项提到的 baseUrl 也一样)

js/css

开发事项

当 coze 生成了 react 代码之后,需要做一些修改:

1. 修改 baseUrl

参考这个 commit 98dac11ece

  1. main.tsx
createRoot(document.getElementById("root")!).render(  # <---- 检查必须是 #root
  <StrictMode>
-    <BrowserRouter>
+    <BrowserRouter basename={import.meta.env.BASE_URL}>
      <App />
      <Toaster />
    </BrowserRouter>
  1. vite.config.ts
export default defineConfig({
  plugins: getPlugins()
+  base: '/alisurvey',    # <---- 需要和项目文件夹名一致
});

2. 修改 pnpm 为 npm [可选]

  • package.json
  "scripts": {
    "dev:client": "vite --host --port 3000",
-    "dev": "pnpm dev:client",
+    "dev": "npm run dev:client",
    "build:client": "vite build --outDir dist/static",
-    "build": "rm -rf dist && pnpm build:client && cp package.json dist && touch dist/build.flag"
+    "build": "rm -rf dist && npm run build:client && cp package.json dist && touch dist/build.flag"
  },
Description
官网产品页面 https://www.alicorns.co.jp/
Readme 1.2 MiB
Languages
TypeScript 87.6%
PHP 7.8%
HTML 3.2%
JavaScript 0.8%
CSS 0.6%