esbuild中文文档-基础配置项(General options - Watch)

文章目录

  • 监听模式 Watch
  • 结语

哈喽,大家好!我是「励志前端小黑哥」,我带着最新发布的文章又来了!

老规矩,小手动起来~点赞关注不迷路!

esbuild简单介绍

esbuild为了突破了JavaScript语言的瓶颈,采用了Go语言编写,构建速度与同代码量下的webpack对比提升在10倍以上,开创了构建工具性能的新时代。

它的中文文档,本人正在不断的更新完善中,欢迎大家关注阅读!

监听模式 Watch

Supported by: Build

启用监听模式告诉esbuild侦听文件系统上的更改,并在文件更改时自动重新构建,即时这些更改可能会使构建无效。使用它看起来是这样的:

$ esbuild app.js --outfile=out.js --bundle --watch
[watch] build finished, watching for changes...

如果您想在将来的某个时候停止监听模式,可以对上下文对象调用dispose来终止文件监听程序:

import * as esbuild from 'esbuild'

let ctx = await esbuild.context({
  entryPoints: ['app.js'],
  outfile: 'out.js',
  bundle: true,
})

await ctx.watch()
console.log('watching...')

await new Promise(r => setTimeout(r, 10 * 1000))
await ctx.dispose()
console.log('stopped watching')

注意,CLI模式下使用快捷键Ctrl+C停止监听模式

esbuild中的监听模式是使用轮询实现的,而不是使用操作系统特定的文件系统API来实现可移植性。与一次扫描整个目录树的传统的轮询相比,esbuild的轮询系统被设计为使用相对较少的CPU。文件系统仍然会定期扫描,但每次扫描只会检查文件的随机子集,这意味着对文件的更改会在更改后很快被发现,但不一定会立即发现。

根据目前的策略,大型项目每2秒钟会进行一次完全扫描,因此在最坏的情况下,可能需要2秒钟才能注意到变化。然而,在注意到更改后,更改的路径会出现在最新更改的路径的列表内,每次扫描都会检查这些路径,因此对最近更改的文件的进一步更改几乎是立即被注意到得。

请注意,如果您不想使用基于轮询的方法,你仍然可以使用esbuildrebuild API和您选择的文件监听库来实现自己的监听方式。

如果使用CLI,请记住,当esbuildstdin关闭时,监听模式将终止。这可以防止esbuild意外地超过父进程,并意外地继续消耗系统上的资源。如果您有一个用例要求esbuild即使在父进程完成时也要继续永远监听,那么您可以使用--watch=forever而不是--watch

结语

笔者根据esbuild文档搭建了一套简洁的ts开发脚手架工程,编译速度非常快!脚手架还整合了eslint,另一篇文章还附带了调试教程,需要的朋友看这里:esbuild配合vscode搭建的ts开发环境,这编译速度,真香

另外,esbuild中文文档专栏,本人目前正在翻译整理,关注我,有最新的翻译文档会第一时间通知你!

(本文完)

励志前端小黑哥,全网唯一账号!
关注我,带你了解更多前端知识!

你可能感兴趣的:(esbuild中文文档,软件构建,go,javascript,transformer)