本章节描述了 Builder 中与本地开发有关的配置。
boolean | string
'/'
设置开发环境下的静态资源 URL 前缀。
assetPrefix
会影响构建产物中绝大部分静态资源的 URL,包括 JavaScript 文件、CSS 文件、图片、视频等。如果指定了一个错误的值,则在加载这些资源时可能会出现 404 错误。
该配置项仅用于开发环境。在生产环境下,请使用 output.assetPrefix
配置项进行设置。
如果设置 assetPrefix
为 true
,Builder 会使用 http://localhost:port/
作为 URL 前缀:
对应 JS 文件在浏览器中加载的地址如下:
如果设置 assetPrefix
为 false
或不设置,则默认使用 /
作为访问前缀。
当 assetPrefix
的值为 string
类型时,字符串会作为前缀,自动拼接到静态资源访问 URL 上:
对应 JS 文件在浏览器中加载的地址如下:
dev.assetPrefix
对应以下原生配置:
它与原生配置的区别在于:
dev.assetPrefix
仅在开发环境下生效。
dev.assetPrefix
默认会自动补全尾部的 /
。
dev.assetPrefix
的值会写入 process.env.ASSET_PREFIX
环境变量。
() => Promise<void> | void
undefined
dev.beforeStartUrl
用于在打开 startUrl
前执行一段回调函数,该配置项需要与 dev.startUrl
一同使用。
boolean
true
是否开启 Hot Module Replacement 热更新能力。
当 hmr
设置为 false
时,将不再提供热更新和 react-refresh 功能。
string
0.0.0.0
指定 dev server 启动时监听的 host。
默认情况下,dev server 会监听 0.0.0.0
,这代表监听所有的网络接口,包括 localhost
和公网地址。
如果你希望 dev server 只监听 localhost
,可以设置为:
boolean | { key: string; cert: string }
false
配置该选项后,可以开启 Dev Server 对 HTTPS 的支持,同时会禁用 HTTP 服务器。
开启前:
开启后:
你可以直接将 https
设置为 true
,Builder 会基于 devcert 来自动生成 Dev Server 所需的 HTTPS 证书。
使用这种方式时,你需要在当前项目中手动安装 devcert 依赖:
然后配置 dev.https
为 true
即可:
该方式有一定局限性,由于 devcert 目前不支持 IP addresses,因此访问 Network 域名时,会遇到「您的连接不是私密连接」的问题。
此问题的解决方法为:点击 Chrome 浏览器问题页面的「高级」->「继续前往 192.168.0.1(不安全)」。
https 代理自动安装证书需要获取 root 权限, 请根据提示输入密码即可。 密码仅在信任证书时使用,不会泄漏或者用于其他环节。
你也可以在 dev.https
选项中手动传入 HTTPS 服务器所需要的证书和对应的私钥,这个参数将直接传递给 Node.js 中 https 模块的 createServer。
具体可以参考 https.createServer。
number
8080
设置 Dev Server 监听的端口号。
默认情况下,Dev Server 会监听 8080 端口,并在端口被占用时自动递增端口号。
将端口设置为 3000
:
true
是否在编译过程中展示进度条。
如果需要修改进度条左侧显示的文本内容,可以设置 id
选项:
boolean | string | string[] | undefined
undefined
dev.startUrl
用于设置 Dev Server 启动时自动在浏览器中打开的页面 URL。
默认情况下,Dev Server 启动时不会打开任何页面。
你可以设置为如下的值:
由于端口号可能会发生变动,你可以使用 <port>
占位符来指代当前端口号,Builder 会自动将占位符替换为实际监听的端口号。
在 MacOS 上,通过设置环境变量 BROWSER
,你可以指定 Dev Server 在启动时打开的浏览器,支持如下的值:
建议设置在.env.local
文件中。