iT邦幫忙

0

Next.js的網站,要怎麼做到自動化打包?

  • 分享至 

  • xImage

大家好,
想請問如果要做一個產品網站,
有分前台跟後台,前台目前規劃用next.js製作成PWA+SSG靜態網頁,去架在xampp裡。
後台做成SPA的網頁,也是架在xampp裡。

當條件是,
(1)使用者是一般民眾,不是工程師時
(2)用xampp去架站時
(3)後端api是用php+mysql時

想請問的是,當在後台更新照片、資料後,按下儲存時,
要怎麼重新npm run build打包,並自動更新前台的html等資料?

謝謝。


目前的想法是,
先將後台,npm run build後,將後台的index.html架在xampp裡。
後台按下儲存時,去啟動後端save.php,
save.php,執行$output = shell_exec('npm run build');
並用php將打包的資料更新到前台的資料夾裡

請問這樣是可行的嗎?
謝謝


目前測試用php打包,好像是可行的!

chdir('C:\Users\XXX\Desktop\test');
$output = shell_exec('npm run build');

$sourcePath = 'C:\Users\XXX\Desktop\test\dist';
$targetPath = 'C:\Users\XXX\Desktop\test\b';

$currentDateTime = date('Y-m-d_H-i-s');
$backupPath = 'C:\\Users\\XXX\\Desktop\\test\\backup\\'. $currentDateTime;

try{
	if (file_exists($sourcePath) && file_exists($targetPath) ) {
		rename($targetPath, $backupPath);
	}
	if (file_exists($sourcePath) ) {
		rename($sourcePath, $targetPath);
		echo 'dist 資料夾已移動';
	}
}catch(Exception $error){
	echo $error;
}
看更多先前的討論...收起先前的討論...
天黑 iT邦研究生 5 級 ‧ 2023-06-19 15:32:19 檢舉
理論上網站上會經常變動的資料,應該是存放資料庫,前端呼叫webapi取得資料,再把資料塞到頁面裡...
greenriver iT邦研究生 4 級 ‧ 2023-06-19 15:41:35 檢舉
因為產品網頁未來會比較少更動。為了SEO,想說做成靜態網頁。未來內容編輯部分是想交給其他使用者去編輯的。
天黑 iT邦研究生 5 級 ‧ 2023-06-19 16:20:18 檢舉
現在 ci cd 軟體還蠻多的 你可以找能打包next.js 看看,因為除了 npm run build 以外還需要把dist內的檔案搬到對應的位置吧? 甚至還要確認檔案是不是讀取狀態被咬死 你可以看看 jenkins合不合用 我之前有用過裡面的 api trigger 觸發自動CI/CD
greenriver iT邦研究生 4 級 ‧ 2023-06-19 16:26:03 檢舉
謝謝你~~我再試看看
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答