[英]How to deploy node that uses Webpack to heroku
我正在使用 webpack。
此外,我不提交所有生成的文件所在的 npm_modules 文件夾和公共文件夾。 在部署和設置我的服務器(它已經在尋找公共文件夾)之后,我無法弄清楚如何構建我的應用程序(我有 webpack build 命令)。
在上傳之前提交似乎是個壞主意。 也許有一些溫和的決定......有什么想法嗎?
"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
或
您可以找到這個自定義 buildpack heroku-buildpack-webpack可用。
這些鏈接可能會幫助您建立理解:
在 2019 年,最簡單的方法是使用heroku/nodejs
(如果您在存儲庫的根目錄下有package.json
則自動選擇)並添加build
腳本到 package json:
"build": "webpack --mode production --config ./webpack.prod.config.js"
Heroku 將在部署時自動運行此腳本。 加分項是因為這是運行以在本地或 CI 中測試構建的直觀腳本。
Heroku 的Node.js 開發最佳實踐文檔中對此進行了描述:
npm 的生命周期腳本為自動化提供了很好的掛鈎。 Heroku 提供自定義鈎子,允許您在我們安裝依賴項之前或之后運行自定義命令。 如果您需要在構建應用程序之前運行某些內容,您可以使用
heroku-prebuild
腳本。 需要使用 grunt、gulp、browserify 或 webpack 構建資產嗎? 在build
腳本中執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.