当你 运行 parcel 中的“构建”脚本时会发生什么?

What happens when you run the “build” script in parcel?

我对构建脚本的确切作用以及它与部署的关系感到困惑。

我知道它通过重命名变量、修剪白色 space 等方式使您的项目变小……但它如何与部署一起使用?

是否只推送构建脚本生成的文件?

parcel build 用于创建 production-ready 可以以多种方式部署的文件包。

一个非常常见的工作流程是将 parcel 指向 html 文件以构建可由文件服务器(例如 parcel build src/index.html)交付的 client-side 应用程序。在这种情况下,所有 JavaScript 都是用户浏览器 运行,服务器只负责提供由 parcel build.

创建的静态文件

Heroku 的核心是一个专注于 运行ning server 应用程序的平台 - 即 运行 大多数或大量代码的应用程序在服务器上,而不是浏览器上。您提到了 heroku "start" 脚本(参见 docs),它在此类应用程序的上下文中使用。例如,如果您正在使用 nodejs 编写 heroku 服务器应用程序,则 start 脚本会告诉 heroku 哪个 javascript 文件是您的节点应用程序的入口点(例如 "start": "node dist/index.js"。如果您想在这样的项目中使用 parcel(例如,减少 server-side 代码的大小,以便 heroku dynos 可以更快地启动),您可以 运行 在 "build" 命令(例如 "build": "parcel build/src/index.js")。

如果您的应用程序完全是静态的 html/js/css(即第一种情况),我可能会考虑另一个托管平台,例如 cloudflare pages or Amazon Amplify, which will probably be cheaper, faster and simpler. But if you want to use heroku, you need to set it up so that there is server code running that will deliver the static html/js/css files generated by parcel. There are many ways to do this - one would be to build a simple express app with the serve-static middleware, as described here