使用 Parcel 构建 Web 应用

安装

#

在开始之前,您需要安装 Node 和 Yarn 或 npm,并为您的项目创建一个目录。然后,使用 Yarn 将 Parcel 安装到您的应用程序中

yarn add --dev parcel

或者使用 npm run 时

npm install --save-dev parcel

项目设置

#

现在 Parcel 已安装,让我们为我们的应用程序创建一些源文件。Parcel 接受任何类型的文件作为入口点,但 HTML 文件是一个不错的起点。Parcel 将从那里跟踪所有依赖项以构建您的应用程序。

src/index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>My First Parcel App</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>

Parcel 内置了一个开发服务器,它会在您进行更改时自动重建您的应用程序。要启动它,请运行指向您的入口文件的 parcel CLI

yarn parcel src/index.html

或者使用 npm run 时

npx parcel src/index.html

现在在浏览器中打开 http://localhost:1234/ 以查看您在上面创建的 HTML 文件。

接下来,您可以开始将依赖项添加到您的 HTML 文件中,例如 JavaScript 或 CSS 文件。例如,您可以创建一个 styles.css 文件,并使用 <link> 标签从您的 index.html 文件中引用它,以及使用 <script> 标签引用的 app.js 文件。

src/styles.css
h1 {
color: hotpink;
font-family: cursive;
}
src/app.js
console.log('Hello world!');
src/index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>My First Parcel App</title>
<link rel="stylesheet" href="styles.css" />
<script type="module" src="app.js"></script>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>

当您进行更改时,您应该会看到您的应用程序在浏览器中自动更新,甚至无需刷新页面!

在这个示例中,我们展示了如何使用普通的 HTML、CSS 和 JavaScript,但 Parcel 也适用于许多常见的 Web 框架和语言,例如 ReactTypeScript,开箱即用。查看文档的食谱和语言部分以了解更多信息。

包脚本

#

到目前为止,我们一直在直接运行 parcel CLI,但创建一些脚本在您的 package.json 文件中可以使此操作更容易。我们还将设置一个脚本,使用 parcel build 命令为 生产 构建您的应用程序。最后,您还可以使用 source 字段在一个地方声明您的 入口,这样您就不需要在每个 parcel 命令中重复它们。

package.json
{
"name": "my-project",
"source": "src/index.html",
"scripts": {
"start": "parcel",
"build": "parcel build"
},
"devDependencies": {
"parcel": "latest"
}
}

现在您可以运行 yarn build 来构建您的项目以供生产,并运行 yarn start 来启动开发服务器。

声明浏览器目标

#

默认情况下,Parcel 不会执行任何代码转译。这意味着如果您使用现代语言功能编写代码,Parcel 将输出的就是这些代码。您可以使用 browserslist 字段声明应用程序支持的浏览器。当声明此字段时,Parcel 将相应地转译您的代码,以确保与您支持的浏览器兼容。

package.json
{
"name": "my-project",
"source": "src/index.html",
"browserslist": "> 0.5%, last 2 versions, not dead",
"scripts": {
"start": "parcel",
"build": "parcel build"
},
"devDependencies": {
"parcel": "latest"
}
}

您可以在 目标 页面上了解有关目标以及 Parcel 对差异化捆绑的自动支持的更多信息。

下一步

#

现在您已经设置了项目,您就可以开始学习 Parcel 的一些更高级的功能了。查看有关 开发生产 的文档,并查看食谱和语言部分以获取使用流行 Web 框架和工具的更深入的指南。