惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Vercel News
Vercel News
F
Fortinet All Blogs
月光博客
月光博客
G
Google Developers Blog
博客园 - Franky
GbyAI
GbyAI
The Cloudflare Blog
I
InfoQ
雷峰网
雷峰网
WordPress大学
WordPress大学
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
小众软件
小众软件
腾讯CDC
B
Blog
量子位
V
V2EX
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News

博客园 - 柒零壹

Ubuntu 24.04 安装最新版podman@5.6.1 [转贴]在前端如何玩转 Word 文档 一个命令行参数解决open-webui镜像启动失败的问题(huggingface网站访问失败问题) Go Template 常用疑难知识点 从数据库中随机选取数据(基于golang,xorm) go-ElasticSearch TypedClient学习笔记 golang用pgx查询数据时如何将查询结果方便的放入Map中 go语言如何使用elastic官方客户端go-elasticsearch/v8实现数据批量更新 【转】网络常用颜文字(文字表情) GoCV下实现多图片单窗口内同时显示 解决GoCV/OpenCV不支持中文的问题 golang中xorm自动维护表结构自动导入数据的实现 [golang] gin的中间中调用Abort方法导致的带附件的表单提交时,浏览器报net::ERR_CONNECTION_RESET错误的原因及解决方法 [golang]filepath.Glob的缺陷,不支持多级目录 浏览器中javascript简易实现json数据保存到客户端 [转]Three.js做一个酷炫的城市展示可视化大屏 [转]css实现不同样式的tooltip对话框小三角 [原]升级项目到Rails7.0.3,使用自己手动方案编译打包css及js资源 puma web server如何监听所有IP地址
最简单搭建前端轻量级项目开发服务
柒零壹 · 2022-10-04 · via 博客园 - 柒零壹

  本文讨论了如何搭建一个简单的前端项目开发服务,这个服务要实现以下几点:

  1. Javascript的打包压缩;
  2. scss的编译打包压缩;
  3. 简单文件http服务;
  4. 监测文件变化自动刷新浏览器;
  5. 零配置(当然打包的入口文件不算在内),不需要本地安装node模块(全局安装即可)。

  要实现这个目标,必须请出四剑客,当然,这些功能都是这些软件实现的:

  • esbuild,实现js的快速打包
  • sass,实现sass的编译打包
  • browser-sync,实现http服务,监测文件变化刷新浏览器
  • concurrently,集成上面三位,使得我们可以启动一个服务程序,而不是三个!

  首先,全局安装四剑客:

npm install -g esbuild 
npm install -g sass
npm install -g browser-sync
npm install -g concurrently

  安装完成后,你可以查看一下各位的软件版本号,验证是否成功安装了。

  其次,创建接口文件,app.js, app.scss。

# app.js
//
import("./scripts/xxx");
......
import("./scripts/main");
@import './styles/xxx.scss';
......
@import './styles/main.scss';

  最后,终于,可以编写我们的服务脚本了:

concurrently "esbuild ./src/app.js --outfile=./public/app/app.min.js  --bundle --minify --sourcemap --watch" \
  "sass --watch --style=compressed  ./src/app.scss:./public/app/app.min.css" \
  "browser-sync start --s --port 8000 --listen 0.0.0.0 --no-ui --no-open --files **/*.html  --files public/app/*"

各项参数,这里就不在赘述了,如有需要,请大家自己去查看文档。

启动这个脚本,可以愉快地开发调试了。