前言
在前端开发中,项目中的静态资源(如 JS、CSS、图片等)大多通过引入外部链接或者使用 webpack 等工具进行打包处理。但当我们需要使用服务端渲染、SSR、CDN 等特性时,就需要将资源打包后上传到服务器上。在开发调试过程中,直接往服务器上传需要花费很多时间,而在本地开发环境中使用 CDN 又会出现跨域问题。因此,我们需要在开发环境中使用本地资源,同时又能享受到服务端渲染等特性。
@asset-pipe/dev-middleware
就是一个解决本地开发调试问题的 npm 包,在本地开发环境下,根据模板代码中引入的资源,实时读取源文件生成资源映射表并作出相应处理。
需要注意的是,由于本包的使用需要 webpack 的支持,因此首先需要了解 webpack 的基本使用。
安装
可通过以下命令进行安装:
npm install --save-dev @asset-pipe/dev-middleware
使用
- 安装需要用到的依赖:
npm install express webpack webpack-cli webpack-dev-middleware
- 编写 webpack 配置文件
-- -------------------- ---- ------- -- ----------------- -------------- - - ----- -------------- ------ ----------------- ------- - --------- ------------ ----- -------------------- -- --
- 在模板代码中引入资源
-- -------------------- ---- ------- --------- ----- ------ ------ ----- --------------- -- ---------------------- ------- --------------------------- ------- ------ --- ------------------------- ------- -------
- 在 node 环境下启动服务
-- -------------------- ---- ------- -- --------- ----- ------- - ------------------- ----- ------- - ------------------- ----- -------------------- - ---------------------------------- ----- ------ - ------------------------------- ----- --- - ---------- ----- -------- - ---------------- -- -- -------------------------- --- ----- --------- - -------------------------------------- ----------------------------- -- -------- ---------------- -- -- ---------------------- -- ---- ---------
配置
@asset-pipe/dev-middleware
在使用时提供了一些可配的参数。
watchDelay
:每次 webpack 构建执行的最小延迟。cache
:是否启用缓存参数。aggressiveFileWatching
:激进的文件监听模式,可以增加文件监听数量,但可能对性能产生影响。writeToDisk
:是否在生成的输出中写入文件。publicPath
:设置资源的 baseUrl。headers
:在 HTTP 请求头中添加文件头。
常见问题
Q:启动命令时报错 Error: ENOENT: no such file or directory, '***.html'
A:启动命令时需要将当前工作目录切换到项目的根目录。
结论
在调试过程中,@asset-pipe/dev-middleware
能够很好地帮助我们解决本地开发环境下资源自动刷新、热部署等问题,使开发者可以更加专注于代码的实现与功能实现,提高开发效率。同时,使用这个工具也有助于我们更好地理解 webpack 中构建和打包的原理和流程,有助于我们完成更加高效的前端开发工作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/112628