Mat*_*att 28 ecmascript-6 reactjs webpack angular
我正在使用react/es6/webpack.我想在我的应用程序中的某处显示构建和git哈希的日期.什么是最好的方法?
azi*_*ium 52
你可以使用webpack的__COMMIT_HASH__
https://webpack.github.io/docs/list-of-plugins.html#defineplugin
// get git info from command line
let commitHash = require('child_process')
.execSync('git rev-parse --short HEAD')
.toString();
...
plugins: [
new webpack.DefinePlugin({
__COMMIT_HASH__: JSON.stringify(commitHash),
})
]
...
Run Code Online (Sandbox Code Playgroud)
然后你可以在你的应用程序中使用它 __COMMIT_HASH__
Viv*_*shi 19
另一种方法是:
只需安装此软件包git-revision-webpack-plugin即可
简单的webpack插件,在构建期间基于本地git存储库生成VERSION和COMMITHASH文件.
示例代码:
在您的webpack.config.js(或任何dev - prod文件)中
const GitRevisionPlugin = require('git-revision-webpack-plugin');
const gitRevisionPlugin = new GitRevisionPlugin();
plugins: [
new DefinePlugin({
'VERSION': JSON.stringify(gitRevisionPlugin.version()),
'COMMITHASH': JSON.stringify(gitRevisionPlugin.commithash()),
'BRANCH': JSON.stringify(gitRevisionPlugin.branch()),
}),
]
Run Code Online (Sandbox Code Playgroud)
在您的组件(React)中:
export class Home extends Component{
....
render() {
return(
<div>
{VERSION}
{COMMITHASH}
{BRANCH}
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
在你的模板(Angular)中:
{{ VERSION }}
{{ COMMITHASH }}
{{ BRANCH }}
Run Code Online (Sandbox Code Playgroud)
小智 5
我无法对置顶帖子发表评论,所以这里是:
Webpack.dev.js
import gitprocess from "child_process"
let LoadCommitDate = gitprocess
.execSync('git log -1 --date=format:"%Y/%m/%d %T" --format="%ad"')
.toString()
...
plugins: [
new webpack.DefinePlugin({
COMMITDATE: JSON.stringify(LoadCommitDate),
})
]
Run Code Online (Sandbox Code Playgroud)
另外在.eslintrc中
"globals": {
"COMMITDATE": "readonly",
},
Run Code Online (Sandbox Code Playgroud)
结果 - 您可以在代码中引用的最新提交日期!
console.log(COMMITDATE)
2020/05/04 21:02:03
Run Code Online (Sandbox Code Playgroud)