nodejs 18.20.4 juice 库将html中的全局CSS格式, 转化为每个元素内联的CSS格式

news/2024/11/8 13:52:43/文章来源:https://www.cnblogs.com/yaolaoer/p/18534910

执行下面命令,安装nodejs 和 npm

ubuntu@ubuntu22:~$ sudo apt update

ubuntu@ubuntu22:~$ sudo apt install npm # npm 是 Node.js 的包管理工具

ubuntu@ubuntu22:~$ sudo apt install -y curl

ubuntu@ubuntu22:~$ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

ubuntu@ubuntu22:~$ sudo apt install -y nodejs

遇到如下报错

ubuntu@ubuntu22:~$ sudo apt-get install nodejs -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:libc-ares2 libnode72
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:nodejs
0 upgraded, 1 newly installed, 0 to remove and 23 not upgraded.
Need to get 0 B/29.6 MB of archives.
After this operation, 187 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 192008 files and directories currently installed.)
Preparing to unpack .../nodejs_18.20.4-1nodesource1_amd64.deb ...
Unpacking nodejs (18.20.4-1nodesource1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_18.20.4-1nodesource1_amd64.deb (--unpack):trying to overwrite '/usr/share/systemtap/tapset/node.stp', which is also in package libnode72:amd64 12.22.9~dfsg-1ubuntu3.6
Errors were encountered while processing:/var/cache/apt/archives/nodejs_18.20.4-1nodesource1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

这个错误表明在安装 Node.js 18 时,出现了文件冲突问题,特别是 node.stp 文件被两个不同的包(nodejslibnode72)包含。解决这个问题的办法通常是先卸载冲突的旧版本,再安装新的 Node.js 版本

解决步骤

ubuntu@ubuntu22:~$ sudo apt-get remove libnode72

ubuntu@ubuntu22:~$ sudo apt autoremove

ubuntu@ubuntu22:~$ sudo apt install -y nodejs

脚本内容如下:

ubuntu@ubuntu22:~$ cat update_html.js

const juice = require('juice');
const fs = require('fs');
const html = fs.readFileSync('file.html', 'utf8');
const inlinedHtml = juice(html);
console.log(inlinedHtml);

执行脚本获得新的html文件:

ubuntu@ubuntu22:~$ nodejs update_html.js > new.html

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828792.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cmu15545-数据存储(Database Storage)

蓝图数据库自己管理磁盘数据和缓冲区,而不是通过操作系统管理(Os is not your friend.)。 三层视图 数据库以页(page)为存储数据的基本单位,文件(file)是一系列页的集合,页中存储页数据(data),形成文件-页-数据三层架构。 文件有不同的组织形式,页包含页头和页数据…

mysql分区表占用大量容量处理(优化)及归档分区表

背景 生产环境中,某个分区表两三年了,占用磁盘1T多,需要对前几年的数据做归档点击查看代码 SELECTtable_schema as 数据库,table_name as 表名,table_rows as 记录数,truncate(data_length/1024/1024, 2) as 数据容量(MB),truncate(index_length/1024/1024, 2) as 索引容量(…

深入理解Java虚拟机 --- 类加载机制

类的生命周期 类的生命周期:加载→验证→准备→解析→初始化→使用→卸载 类加载的时机 关于在什么情况下需要需要开始类加载过程的第一个阶段"加载",虚拟机并没有进行强制约束,这点交给虚拟机的具体实现来自由把握。 但严格规定了有且只有六种情况必须立即对类进…

深入理解Java虚拟机 --- 垃圾标记/收集算法

在开始本章之前,我们得了解一个概念,那就是我们怎么知道这个对象是"垃圾"?所以如何定义垃圾就成为我们第一个需要探讨的重要的点之一。 垃圾标记算法 常见的垃圾标记算法有:引用计数算法和可达性分析算法。 引用计数算法 实现思路 每个对象去额外存储一个引用计数…

深入理解Java虚拟机 --- 垃圾回收器

Serial收集器 HotSpot虚拟机运行在客户端模式下的默认新生代收集器。 类型:单线程串行垃圾回收器 垃圾收集算法:复制算法 作用区域:新生代 特点: 1、只会用单个线程去完成垃圾收集工作,用户线程会STW,直到收集结束。 2、没有线程交互,专心做垃圾收集,获得最高的单线程收…

【补档】玄武550电源怎么样? - 约呼的回答 - 知乎

【补档】玄武550电源怎么样? - 约呼的回答 - 知乎 约呼 一个路过的图吧用户 低预算整机非常推荐,高预算慎选。 低预算整机非常推荐,高预算慎选。 优点不少,缺点也有。 先说优点: 价格上来说便宜大碗,用料不错,部分型号反向虚标,比如550v4其实是按650w规格用料来做的,拆…

打造吸睛开场白:六招教你瞬间抓住客户心弦

开场白是在初次接触客户的头30秒至1分钟时间内,销售人员用以吸引目标客户注意力的简短言辞,通常涵盖前几句关键对话。 为了设计出一个引人入胜的开场白,以下策略值得尝试: 赞美客户赞美是人际交往中的润滑剂,恰当的赞美能迅速引起客户的关注。可以从客户的外观、着装、气质…

MM--项目中遇到的一些问题记录

采购订单: 创建采购订单时,供应商对应的信息记录已失效,但是切换供应商之后价格不会自动更新成0 1.SU01-查看用户对应的采购缺省值2.SPRO-维护采购缺省值 采购订单收货的时候,提示无符合条件的行项目 经打断点发现是由于程序中判断时公司间的内部交易所导致的,根本原因是因为采…

C#代码扫描工具SonarQube安装

前言 安装环境:Windows10+SonarQube 9.9.7 LTA Community Edition+jdk17+PostgreSQL 16.4+SonarScanner for .NET 9.0.1 在安装SonarQube 前需要搭建好jdk环境,这里我用的版本是jdk17,之前用过jdk1.8、jdk11和jdk21都失败了。还需提前安装第三方数据库,我用的是PostgreSQL …

数据结构 --树

定义 树是n(n>=0)个结点的有限集。n=0时,称为空树。在任意一棵树非空树中应满足: (1) 有且仅有一个特定的称为根 (root) 的结点 (2) 当时,其余结点可分为个互不相交的有限集,其中每一个集合本身又是一颗树,并且称为根的子树。 基本概念 结点的度:一个结点拥有的子树的…

人工智能--自然语言处理简介

上一篇:《人工智能模型训练中的数据之美——探索TFRecord》 序言:自然语言处理(NLP)是人工智能中的一种技术,专注于理解基于人类语言的内容。它包含了编程技术,用于创建可以理解语言、分类内容,甚至生成和创作人类语言的新作品的模型。在接下来的几章中,我们将会探讨这…

精选 Top10 开源调度工具,解锁高效工作负裁自动化

在大数据和现代 IT 环境中,任务调度与工作负载自动化(WLA)工具是优化资源利用、提升生产效率的核心驱动力。随着企业对数据分析、实时处理和多地域任务调度需求的增加,这些工具成为关键技术。本文将介绍当前技术发展背景下的Top 10开源任务调度工具,并探讨它们在大数据和工…