注意:
當前方法特定為 create-react-app?
構建框架,其他的構建流程不同,不能直接照搬 react-scripts
的方式。
? 目標:
在 React 打包(build)時,自動將當前時間寫入代碼中某個變量或 console.log
中,例如:
console.log('Build Time: 2025-06-24 15:09');
? 實現思路:
React 默認使用 create-react-app
(CRA),它基于 Webpack 構建系統。我們可以通過以下方式實現:
方法一:使用環境變量 + 構建腳本生成時間戳
步驟 1:創建一個?build.js
?腳本,在打包前生成時間戳
在項目根目錄下新建一個文件:build.js
// build.js
const fs = require('fs');
const path = require('path');const now = new Date();
const formattedTime = now.toLocaleString('zh-CN', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit',second: '2-digit',hour12: false,
}).replace(/\//g, '-'); // 格式:2025-06-24 15:09:00const content = `export const BUILD_TIME = '${formattedTime}';`;fs.writeFileSync(path.resolve(__dirname, 'src/buildTime.js'), content);
這個腳本會在 src/
下生成一個 buildTime.js
文件,內容類似:
export const BUILD_TIME = '2025-06-24 15:09';
步驟 2:在你的 React 項目中引用這個時間戳
比如在 index.js
或任意組件中引入并打印:
import { BUILD_TIME } from './buildTime';console.log(`Build Time: ${BUILD_TIME}`);
步驟 3:修改?package.json
?中的 build 命令
"scripts": {"start": "react-scripts start","build": "node build.js && react-scripts build","test": "react-scripts test"
}
這樣每次執行 npm run build
時,都會先運行 build.js
,自動生成最新的打包時間。
? 最終效果:
打包后輸出如下日志(在瀏覽器控制臺可見):
Build Time: 2025-06-24 15:09