Включение git commit hash и дата в сборке webpack

Я использую реакцию /es6/webpack. Я хочу показать дату сборки и git-хеш где-нибудь в моем приложении. Какой лучший подход?

Ответ 1

Вы можете использовать веб- пакет 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),
    })
  ]
...

Затем вы можете использовать его в своем приложении с __COMMIT_HASH__

Ответ 2

Еще один способ сделать это (в УГЛОВОЙ + РЕАГИРОВАТЬ):

Просто установите этот пакет git-revision-webpack-plugin

Простой плагин для веб-пакетов, который генерирует файлы VERSION и COMMITHASH. во время сборки на основе локального репозитория git.


Пример кода:

Внутри вашего 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()),
    }),
  ]

В вашем компоненте (React):

export class Home extends Component{
    ....

    render() {
        return(
            <div>
                {VERSION} 
                {COMMITHASH}
                {BRANCH}
            </div>
        )
    }
}

В вашем шаблоне (angular):

{{ VERSION }} 
{{ COMMITHASH }}
{{ BRANCH }}