私はwebpackを使用しています。
また、生成されたすべてのファイルがあるnpm_modulesフォルダーとパブリックフォルダーはコミットしません。また、サーバーを展開してセットアップした後(既にパブリックフォルダーを探している)、アプリをビルドする方法を理解できません(webpackビルドコマンドがあります)。
アップロードする前にコミットするのは悪い考えのようです。たぶんいくつかの穏やかな決定があります...何か考えはありますか?
"heroku-postbuild": "webpack -p --config ./webpack.prod.config.js --progress"
postinstallを使用すると、毎回npm i
ビルドスクリプトが起動します
@orlandoが提案するpostinstall
スクリプトで実行します。
"postinstall": "webpack -p --config ./webpack.prod.config.js --progress"
このアプローチでは、heroku config:set NODE_ENV=production
heroku config:set NPM_CONFIG_PRODUCTION=true
[〜#〜] or [〜#〜]
これを見つけることができますカスタムbuildpackheroku-buildpack-webpack 使用可能。
これらのリンクは、理解を深めるのに役立ちます。
2019年にこれを行う最も簡単な方法は、heroku/nodejs
buildpack(package.json
リポジトリのルートで)build
スクリプトを追加してjsonをパッケージ化します。
"build": "webpack --mode production --config ./webpack.prod.config.js"
Herokuは、デプロイ時にこのスクリプトを自動的に実行します。これは、ビルドをローカルまたはCIでテストするために実行する直感的なスクリプトだからです。
これは、Herokuの Node.js開発のベストプラクティス ドキュメントで説明されています。
npmのライフサイクルスクリプトは、自動化のための優れたフックとなります。 Herokuには、依存関係をインストールする前または後にカスタムコマンドを実行できるカスタムフックが用意されています。アプリを作成する前に何かを実行する必要がある場合は、
heroku-prebuild
脚本。単刀直入な、gulp、browserify、webpackでアセットを構築する必要がありますか?build
スクリプトで実行します。