Backpack 简介
Backpack 是一个用于构建现代 Node.js 应用的构建系统,支持零配置或最小化配置。它支持最新的 JavaScript 语法,并集成了文件监听、实时重载、代码转译和打包功能——这些正是我们在前几章中通过 webpack 手动实现的任务。我们可以将其视为 webpack 的封装工具,相当于本书目前所用 webpack 配置的简化版本。您可以通过 https://github.com/jaredpalmer/backpack 获取更多关于 Backpack 的信息。接下来,让我们在后续章节中探索如何运用它来加速应用开发。
安装和配置 Backpack
使用 Backpack 创建现代 Node.js 应用只需简单几步即可实现:
-
通过
npm安装Backpack:$ npm i backpack-core -
在项目根目录创建
/src/文件夹和package.json文件,并在dev脚本中配置backpack:{ "scripts": { "dev": "backpack" } }注意:必须将
/src/作为应用的 默认入口目录。 -
在项目根目录创建
Backpack配置文件,通过函数自定义webpack配置:// backpack.config.js module.exports = { webpack: (config, options, webpack) => { // 自定义配置... return config } }这一步是可选的,但如果你想更改应用程序的默认入口目录(即你在第 2 步中创建的
/src/目录)为另一个目录,例如/server/目录,那么可以按如下方式操作:webpack: (config, options, webpack) => { config.entry.main = './server/index.js' return config } -
通过以下命令启动开发模式:
$ npm run dev
之后即可在 /server/ 目录下开发应用代码,并通过浏览器访问指定端口查看应用。接下来,我们将用 Backpack 创建一个简单的 Express 应用。
使用 Backpack 创建一个简单的应用
使用 Backpack 创建 Express 应用只需遵循以下简单步骤:
-
通过
npm安装Express:$ npm i express -
在
package.json中添加build和start脚本(紧随dev脚本之后):package.json"scripts": { "dev": "backpack", "build": "backpack build", "start": "cross-env NODE_ENV=production node build/main.js" } -
创建
Backpack配置文件,并指定/server/作为应用入口目录(如前文所述):// backpack.config.js module.exports = { webpack: (config, options, webpack) => { config.entry.main = './server/index.js' return config } } -
创建包含 'Hello World' 的简单路由:
// server/index.js import express from 'express' const app = express() const port = 3000 app.get('/', (req, res) => res.send('Hello World') ) app.listen(port, () => console.log(`Example app listening on port ${port}!`) ) -
以开发模式运行应用:
$ npm run dev
此时通过浏览器访问 127.0.0.1:3000 即可看到页面显示 "Hello World"。您可以在 GitHub 仓库的 /chapter-8/backpack/ 目录找到此示例。接下来,我们将使用 Koa 作为服务端框架——它能以更少的代码行数实现 ES2015 语法和异步函数,详见下一节内容。