当前位置: 首页 > news >正文

使用 Parcel 和 NPM 脚本进行打包

使用 Parcel 和 NPM 脚本进行打包

Parcel

Parcel 是一个零配置的网页应用程序打包工具,主要用于快速构建现代 JavaScript 应用。

  • 我们可以使用npm直接安装它
npm install --save-dev parcel
//这将把 Parcel 添加到 devDependencies 中,表明它是一个开发工具,而不是应用程序在运行时所需的依赖包。

在这里插入图片描述

  • 使用npx运行parcel
npx parcel index.html
//这里的index.html是入口文件,因为我们的script.js就是由它来引入的

在这里插入图片描述

在这里插入图片描述

  • 成功运行之后,会生成一个用于生产,也就是推送给用户的文件夹

在这里插入图片描述

  • parcel支持热重载,一旦开发服务器启动,您在代码中所做的任何更改(如 JavaScript、CSS 或 HTML 文件)都会被 Parcel 自动检测到,并在浏览器中实时更新,无需手动刷新。
if (module.hot) {module.hot.accept();
}

注:在 JavaScript 中,对象是通过引用传递的。如果您在使用 lodash 的深度复制方法时,只是复制了对象的引用,之后的修改会影响到原始对象和复制对象。这意味着如果您在热重载时更新了某个模块中的对象,而没有正确处理引用,可能会导致对象内容不断增加。所以如果这不是我们需要的,需要你手动的去初始化对象

在这里插入图片描述

  • parcel也可以自动的将我们补全一些路径
// import cloneDeep from './node_modules/lodash-es/cloneDeep.js';
import cloneDeep from 'lodash-es'; //不需要写上面这么长的路径,parcel也可以自动的找到这个模块的功能;

在这里插入图片描述

使用npm脚本的方式启动parcel

使用 npm 脚本启动 Parcel 是一种常见的做法,可以简化开发和构建过程。

{"name": "starter","version": "1.0.0","main": "clean.js","scripts": {"start": "parcel index.html"},
  • 然后使用npm start或者npm run start启动parcel

在这里插入图片描述

  • 一般我们也需要使用parcel来生产构建,build 脚本将使用 Parcel 进行生产构建。
  "scripts": {"start": "parcel index.html","build": "parcel build index.html"},

在这里插入图片描述

  • 运行之后我们会发现一些文件被压缩了

在这里插入图片描述

  • 注:我们也可以在全局安装parcel,只要在后面加-g参数即可,这样它就跟live-server一样,不管在哪个文件夹,我们始终可以使用它,但是在实际开发中,却不经常使用,因为实际项目中的开发一般都是独立更新和独立管理依赖的;
http://www.lryc.cn/news/524218.html

相关文章:

  • HTML<center>标签
  • LatentSync本地部署教程:基于音频精准生成唇形高度同步视频
  • ES使用笔记,聚合分组后再分页,探索性能优化问题
  • VUE3 vite下的axios跨域
  • Mac下安装ADB环境的三种方式
  • 在Vue中,<img> 标签的 src 值
  • Kotlin基础知识学习(三)
  • 渗透测试之XEE[外部实体注入]漏洞 原理 攻击手法 xml语言结构 防御手法
  • 店铺营业状态设置(day05)
  • 游戏引擎学习第84天
  • 快手SDK接入错误处理经验总结(WebGL方案)
  • C语言 for 循环:解谜数学,玩转生活!
  • Node.js 与 JavaScript 是什么关系
  • Java 大视界 -- Java 大数据性能监控与调优:全链路性能分析与优化(十五)
  • 深入Spring Boot:自定义Starter开发与实践
  • React 中hooks之useTransition使用总结
  • 怎样使用树莓派自己搭建一套ADS-B信号接收系统
  • Chrome谷歌浏览器如何能恢复到之前的旧版本
  • 路由器旁挂三层网络实现SDWAN互联(爱快SD-WAN)
  • 代码随想录算法训练营第五十五天 |108.冗余连接 109.冗余连接Ⅱ
  • Unity补充 -- 协程相关
  • 【第二十周】U-Net:用于生物图像分割的卷积神经网络
  • 部署Metricbeat监测ES
  • Pytorch|YOLO
  • 云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)
  • 基于python+Django+mysql鲜花水果销售商城网站系统设计与实现
  • Golang:报错no required module provides package github.com/xx的解决方法
  • 数据结构与算法(2):顺序表与链表
  • 华为OD机试E卷 --过滤组合字符串--24年OD统一考试(Java JS Python C C++)
  • QT跨平台应用程序开发框架(3)—— 信号和槽