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

(七)什么是Vite——vite优劣势、命令

 vite分享ppt,感兴趣的可以下载:

​​​​​​​Vite分享、原理介绍ppt

什么是vite系列目录:

(一)什么是Vite——vite介绍与使用-CSDN博客

(二)什么是Vite——Vite 和 Webpack 区别(冷启动)-CSDN博客

(三)什么是Vite——Vite 主体流程(运行npm run dev后发生了什么?)-CSDN博客

(四)什么是Vite——冷启动时vite做了什么(源码、middlewares)-CSDN博客

(五)什么是Vite——冷启动时vite做了什么(依赖、预构建)-CSDN博客

(六)什么是Vite——热更新时vite、webpack做了什么-CSDN博客

(七)什么是Vite——vite优劣势、命令-CSDN博客

为什么生产环境仍需打包

尽管原生 ESM 现在得到了广泛支持,但由于嵌套导入会导致额外的网络往返,在生产环境中发布未打包的 ESM 仍然效率低下(即使使用 HTTP/2)。为了在生产环境中获得最佳的加载性能,最好还是将代码进行 tree-shaking、懒加载和 chunk 分割(以获得更好的缓存)。

要确保开发服务器和生产环境构建之间的最优输出和行为一致并不容易。所以 Vite 附带了一套 构建优化 的 构建命令,开箱即用。

为何不用 ESBuild 打包?

Vite 目前的插件 API 与使用 esbuild 作为打包器并不兼容。尽管 esbuild 速度更快,但 Vite 采用了 Rollup 灵活的插件 API 和基础建设,这对 Vite 在生态中的成功起到了重要作用。目前来看, Rollup 提供了更好的性能与灵活性方面的权衡。

Webpack 和 Rollup 区别

Rollup 是一个 JavaScript 模块打包工具,可以将多个小的代码片段编译为完整的库和应用。与传统的 CommonJS 和 AMD 这一类非标准化的解决方案不同,Rollup 使用的是 ES6 版本 Javascript 中的模块标准。新的 ES 模块可以让你自由、无缝地按需使用你最喜爱的库中那些有用的单个函数。这一特性在未来将随处可用,但 Rollup 让你现在就可以,想用就用。

Rollup 是基于 ESM 的 JavaScript 打包工具。相比于其他打包工具如 Webpack ,他总是能打出更小、更快的包。因为 Rollup 基于 ESM 模块,比 Webpack 和 Browserify 使用的 CommonJS模块机制更高效。

Rollup的亮点在于同一个地方,一次性加载。能针对源码进行 Tree Shaking(去除那些已被定义但没被使用的代码),以及 Scope Hoisting 以减小输出文件大小提升运行性能。

Rollup分为 build(构建)阶段和 output generate(输出生成)阶段。主要过程如下:

  • 获取入口文件的内容,包装成 module,生成抽象语法树
  • 对入口文件抽象语法树进行依赖解析
  • 生成最终代码
  • 写入目标文件

这里想对Rollp进行更深入的学习可以看看 rollup.js 中文文档 | rollup.js中文网

Rollup插件机制:

Rollup 的打包过程中,会定义一套完整的构建生命周期,从开始打包到产物输出,中途会经历一些标志性的阶段,并且在不同阶段会自动执行对应的插件钩子函数(Hook)。

Vite 的插件机制是基于 Rollup 来设计的。Vite 模拟了 Rollup 的插件机制,设计了一个 PluginContainer 对象来调度各个插件。

PluginContainer 的 实现 基于借鉴于 WMR 中的rollup-plugin-container.js,主要分为 2 个部分:

  • 1、实现 Rollup 插件钩子的调度
  • 2、实现插件钩子内部的 Context 上下文对象

PluginContainer的定义了一系列执行plugin的方法。如buildStart、resolveId、load、transform。

经验法则:对于应用使用 webpack,对于类库使用 Rollup。

如果你的项目(特别是类库)只有JavaScript,而没有其他的静态资源文件,使用Webpack就有点大才小用了。因为Webpack 打包的文件的体积略大,运行略慢,可读性略低。这时候Rollup也不失为一个好选择。如果您的代码库是基于 ES2015 模块的,而且希望你写的代码能够被其他人直接使用,你需要的打包工具可能是 Rollup 。

如果你需要代码拆分(Code Splitting),或者你有很多静态资源需要处理,再或者你构建的项目需要引入很多CommonJS模块的依赖,那么 webpack 是个很不错的选择。

小结:

webpack 是一个全能选手,啥都能干,只是有点复杂,对新手不太友好。

Rollup 是后起之秀,打包更简洁。

vite 把 rollup 变成了“开袋即食”,便于新手入门。

create-vue 基本取代了 vue-cli,除非你想创建 vue2 的项目。

所以,想创建一个 vue3 的项目,首选 create-vue,非常方便快捷,建立的项目也可以统一风格。

Vite 优势:

1. vite 开发服务器启动速度比 webpack 快(快速的冷启动)

webpack 会先打包,然后启动开发服务器,请求服务器时直接给予打包结果,如果项目规模庞大,打包时间必然很长。

由于现代浏览器本身就支持ES Module,会自动向依赖的Module发出请求。vite充分利用这一点,将开发环境下的模块文件,就作为浏览器要执行的文件,而不是像webpack那样进行打包合并。所以,Vite只启动一台静态页面的服务器,不会打包全部项目文件代码,服务器根据客户端的请求加载不同的模块处理,实现按需加载。而 vite 在启动开发服务器时不需要打包,也就意味着不需要分析模块的依赖、不需要编译,因此启动速度非常快。当浏览器请求某个模块时,再根据需要对模块内容进行编译。这种按需动态编译的方式,极大的缩减了编译时间,项目越复杂、模块越多,vite的优势越明显。

2. vite 热更新比 webpack 快(快速的热更新)

在 HMR 方面,当改动了一个模块后,vite仅需让浏览器重新请求该模块即可,不像webpack那样需要把该模块的相关依赖模块全部编译一次,效率更高。

3. vite 使用esbuild(Go 编写) 预构建依赖,比 webpack 的 nodejs,快 10-100 倍。

4.-unbundle 机制的核心:

  • 模块之间的依赖关系的解析由浏览器实现;
  • 文件的转换由 dev server 的 middlewares 实现并做缓存;
  • 不对源文件做合并捆绑操作;

Vite 劣势:

1. 打包到生产环境时,vite使用传统的 rollup(也可以自己手动安装webpack来)进行打包,所以,vite的优势是体现在开发阶段;

2. 项目的开发浏览器要支持 ES Module,而且不能识别 CommonJS 语法;

3.一些第三方 sdk 没有产出 ems 格式的的代码,这个需要自己去做一些兼容;

4.由于 unbundle 机制,首屏期间、懒加载方面需要额外做以下工作:和 Webpack 对比,Vite 把需要在 dev server 启动过程中完成的工作,转移到了 dev server 响应浏览器请求的过程中,不可避免的导致首屏性能下降。不过首屏性能差只发生在 dev server 启动以后第一次加载页面时发生。之后再 reload 页面时,首屏性能会好很多。原因是 dev server 会将之前已经完成转换的内容缓存起来。

  • 不对源文件做合并捆绑操作,导致大量的 http 请求;
  • dev server 运行期间对源文件做 resolve、load、transform、parse 操作;
  • 预构建、二次预构建操作也会阻塞首屏请求,直到预构建完成为止。

命令行界面

开发服务器

vite #

在当前目录下启动 Vite 开发服务器。

使用

vite [root]

选项

选项

--host [host]

指定主机名称 ( string )

--port

指定端口 ( number )

--https

使用 TLS + HTTP/2 ( boolean )

--open [path]

启动时打开浏览器 ( boolean | string )

--cors

启用 CORS ( boolean )

--strictPort

如果指定的端口已在使用中,则退出 ( boolean )

--force

强制优化器忽略缓存并重新构建 ( boolean )

-c, --config

使用指定的配置文件 ( string )

--base

公共基础路径(默认为:/ )( string )

-l, --logLevel

Info | warn | error | silent ( string )

--clearScreen

允许或禁用打印日志时清除屏幕 ( boolean )

-d, --debug [feat]

显示调试日志 ( string | boolean )

-f, --filter

过滤调试日志 ( string )

-m, --mode

设置环境模式 ( string )

-h, --help

显示可用的 CLI 选项

-v, --version

显示版本号

构建

vite build #

构建生产版本。

使用

vite build [root]

选项

选项

--target

编译目标(默认为: "modules" )( string )

--outDir

输出目录(默认为: dist )( string )

--assetsDir

在输出目录下放置资源的目录(默认为: "assets" )( string )

--assetsInlineLimit

静态资源内联为 base64 编码的阈值,以字节为单位(默认为: 4096 )( number )

--ssr [entry]

为服务端渲染配置指定入口文件 ( string )

--sourcemap [output]

构建后输出 source map 文件(默认为: false )( boolean | "inline" | "hidden" )

--minify [minifier]

允许或禁用最小化混淆,或指定使用哪种混淆器(默认为: "esbuild" )( boolean | "terser" | "esbuild" )

--manifest [name]

构建后生成 manifest.json 文件 ( boolean | string )

--ssrManifest [name]

构建后生成 SSR manifest.json 文件 ( boolean | string )

--force

强制优化器忽略缓存并重新构建(实验性)( boolean )

--emptyOutDir

若输出目录在根目录外,强制清空输出目录 ( boolean )

-w, --watch

在磁盘中模块发生变化时,重新构建 ( boolean )

-c, --config

使用指定的配置文件 ( string )

--base

公共基础路径(默认为: / )( string )

-l, --logLevel

Info | warn | error | silent ( string )

--clearScreen

允许或禁用打印日志时清除屏幕 ( boolean )

-d, --debug [feat]

显示调试日志 ( string | boolean )

-f, --filter

过滤调试日志 ( string )

-m, --mode

设置环境模式 ( string )

-h, --help

显示可用的 CLI 选项

其他

vite optimize #

预构建依赖。

使用

vite optimize [root]

选项

选项

--force

强制优化器忽略缓存并重新构建 ( boolean )

-c, --config

使用指定的配置文件 ( string )

--base

公共基础路径(默认为: / )( string )

-l, --logLevel

Info | warn | error | silent ( string )

--clearScreen

允许或禁用打印日志时清除屏幕 ( boolean )

-d, --debug [feat]

显示调试日志 ( string | boolean )

-f, --filter

过滤调试日志 ( string )

-m, --mode

设置环境模式 ( string )

-h, --help

显示可用的 CLI 选项

vite preview #

本地预览构建产物。不要将其用作生产服务器,因为它不是为此而设计的。

使用

vite preview [root]

选项

选项

--host [host]

指定主机名称 ( string )

--port

指定端口 ( number )

--strictPort

如果指定的端口已在使用中,则退出 ( boolean )

--https

使用 TLS + HTTP/2 ( boolean )

--open [path]

启动时打开浏览器 ( boolean | string )

--outDir

输出目录(默认为: dist )( string )

-c, --config

使用指定的配置文件 ( string )

--base

公共基础路径(默认为: / )( string )

-l, --logLevel

Info | warn | error | silent ( string )

--clearScreen

允许或禁用打印日志时清除屏幕 ( boolean )

-d, --debug [feat]

显示调试日志 ( string | boolean )

-f, --filter

过滤调试日志 ( string )

-m, --mode

设置环境模式 ( string )

-h, --help

显示可用的 CLI 选项

 感兴趣的可以看看下面的文章:

参考文章

  • Vite 官方中文文档 # 链接-Vite 官方中文文档
  • webpack官网 # 链接-webpack官网
  • esbuild官网 # 链接-esbuild官网
  • rollup官网 # 链接-rollup官网
  • vite的基本使用 # 链接-vite的基本使用
  • 什么是 Vite? # 链接-什么是 Vite?
  • 漫谈构建工具(四): 为什么有人说 vite 快,有人却说 vite 慢? # 链接-漫谈构建工具(四): 为什么有人说 vite 快,有人却说 vite 慢?
  • 一文详解【webpack】打包原理 # 链接-一文详解【webpack】打包原理
  • [万字总结] 一文吃透 Webpack 核心原理 # 链接-[万字总结] 一文吃透 Webpack 核心原理
  • 面向未来的前端构建工具-vite # 链接-面向未来的前端构建工具-vite
  • Vue3通透教程【二】更高效的构建工具—Vite # 链接-Vue3通透教程【二】更高效的构建工具—Vite
  • vite详解 # 链接-vite详解
  • Vite 完整版详解 # 链接-Vite 完整版详解
  • Vite介绍和原理解析 # 链接-Vite介绍和原理解析
  • 【一】尤大神都说Vite香,让我来手把手分析Vite原理 # 链接-【一】尤大神都说Vite香,让我来手把手分析Vite原理
  • Vue3之——和Vite不得不说的事 # 链接-Vue3之——和Vite不得不说的事
  • Vite基本使用 # 链接-Vite基本使用
  • Vite介绍和原理解析 # 链接-Vite介绍和原理解析
  • Vite 特性和部分源码解析 # 链接-Vite 特性和部分源码解析
  • 前端构建工具vite进阶系列(零) -- 全局概况 # 链接-前端构建工具vite进阶系列(零) -- 全局概况(系列)
  • 前端构建工具vite进阶系列(一) -- vite比webpack的优势与开箱即用 # 链接-前端构建工具vite进阶系列(一) -- vite比webpack的优势与开箱即用
  • 前端构建工具vite进阶系列(二) -- vite的依赖预构建与配置文件相关处理 # 链接-前端构建工具vite进阶系列(二) -- vite的依赖预构建与配置文件相关处理
  • 前端构建工具vite进阶系列(三) -- 静态资源与css模块化的处理 # 链接-前端构建工具vite进阶系列(三) -- 静态资源与css模块化的处理
  • 前端构建工具vite进阶系列(四) -- 插件系统让vite变得更强大 # 链接-前端构建工具vite进阶系列(四) -- 插件系统让vite变得更强大
  • 前端构建工具vite进阶系列(五) -- vite的热更新(HMR)机制的实践与原理 # 链接-前端构建工具vite进阶系列(五) -- vite的热更新(HMR)机制的实践与原理
  • 前端构建工具vite进阶系列(六) -- vite在实际项目中所能带来的性能优化 # 链接-前端构建工具vite进阶系列(六) -- vite在实际项目中所能带来的性能优化
  • 前端构建工具vite进阶系列(七) -- vite与ts、框架的结合实践 # 链接-前端构建工具vite进阶系列(七) -- vite与ts、框架的结合实践
  • 前端构建工具vite进阶系列(八) -- vite本地服务器、esbuild、rollup以及跨域的处理 # 链接-前端构建工具vite进阶系列(八) -- vite本地服务器、esbuild、rollup以及跨域的处理
  • 重学webpack系列(一) -- 前端模块化的演变历史 # 链接-重学webpack系列(一) -- 前端模块化的演变历史
  • Vite和Webpack的核心差异 # 链接-Vite和Webpack的核心差异
  • 一文说清 webpack、vite、vue-cli、create-vue 的区别 # 链接-一文说清 webpack、vite、vue-cli、create-vue 的区别
  • create-vue快速生成项目,到底是怎么做的 # 链接 -create-vue快速生成项目,到底是怎么做的
  • Vue 团队公开快如闪电的全新脚手架工具 create-vue,未来将替代 Vue-CLI,才300余行代码,学它! # 链接-Vue 团队公开快如闪电的全新脚手架工具 create-vue,未来将替代 Vue-CLI,才300余行代码,学它!
  • vite 源码解析之 create-vite # 链接-vite 源码解析之 create-vite
  • vite介绍 | 与其他构建工具做比较,分析vite预构建和热更新的原理 # 链接-vite介绍 | 与其他构建工具做比较,分析vite预构建和热更新的原理
  • 深入探讨vite是怎么解析.env文件的 # 链接-深入探讨vite是怎么解析.env文件的
  • 深度剖析Vite配置文件 # 链接-深度剖析Vite配置文件
  • Vite项目启动都做了什么?# 链接-Vite项目启动都做了什么?
  • 深入理解Vite核心原理 # 链接-深入理解Vite核心原理
  • vite 依赖预构建-依赖扫描 # 链接-vite 依赖预构建-依赖扫描
  • 【Vite】1380- 详解 Vite 依赖预构建流程 # 链接-【Vite】1380- 详解 Vite 依赖预构建流程
  • 快速理解 Vite 的依赖预构建 # 链接-快速理解 Vite 的依赖预构建
  • 五千字深度解读 Vite 的依赖扫描 # 链接 -五千字深度解读 Vite 的依赖扫描
  • 五千字剖析 vite 是如何对配置文件进行解析的 # 链接-五千字剖析 vite 是如何对配置文件进行解析的
  • 预构建 如何玩转秒级依赖预构建的能力? # 链接-预构建 如何玩转秒级依赖预构建的能力?
  • 【源码】Vite源码分析,是时候弄清楚Vite的原理了 # 链接-【源码】Vite源码分析,是时候弄清楚Vite的原理了
  • vite2 常用插件篇(四)- 进阶插件 # 链接-vite2 常用插件篇(四)- 进阶插件
  • 深入Vite:再谈ESM的高阶特性 # 深入Vite:再谈ESM的高阶特性
  • Vite介绍及实现原理 # Vite介绍及实现原理
  • 前端框架源码解读之Vite # 前端框架源码解读之Vite
  • 下一代前端构建工具 - Vite 2.x 源码级分析 # 下一代前端构建工具 - Vite 2.x 源码级分析
  • 初识 vite 原理,vite 是如何启动项目的 # 初识 vite 原理,vite 是如何启动项目的
  • Vite 是如何兼容 Rollup 插件生态的 # Vite 是如何兼容 Rollup 插件生态的
  • 前端面试必备 | Vite 篇(P1-30) # 前端面试必备 | Vite 篇(P1-30)
  • 一文带你了解vite对浏览器的请求做了什么 # 一文带你了解vite对浏览器的请求做了什么
  • 通俗的解释下Vite能用来干嘛?是怎么回事? # 通俗的解释下Vite能用来干嘛?是怎么回事?

相关文章:

(七)什么是Vite——vite优劣势、命令

vite分享ppt,感兴趣的可以下载: ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录: (一)什么是Vite——vite介绍与使用-CSDN博客 (二)什么是Vite——Vite 和 Webpack 区别&#xff0…...

vue之Error: Unknown option: .devServer.

背景 在使用内网穿透工具时,加入对应的配置,启动出现报错。 一、遇到的问题 报错: Error: Unknown option: .devServer. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options. Error: Unknown …...

基于ssm的房屋租售网站(有报告)。Javaee项目,ssm项目。

演示视频: 基于ssm的房屋租售网站(有报告)。Javaee项目,ssm项目。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 项目介绍: 采用M(mode…...

LeeCode AutoX-4 计算几何

题意 传送门 LeeCode AutoX-4 蚂蚁爬行 题解 枚举每一对几何图形,判断相交性,用并查集维护连通性即可。总时间复杂度 O ( n 2 m ) O(n^2 m) O(n2m),其中 n n n 为几何图形数量, m m m 为查询数量。 根据几何图形性质分类讨…...

Vue3 动态设置 ref

介绍 在一些场景,ref设置是未知的需要根据动态数据来决定,如表格中的input框需要我们主动聚焦,就需要给每一个input设置一个ref,进而进行聚焦操作。 Demo 点击下面截图中的编辑按钮,自动聚焦到相应的输入框中。 &…...

fast lio 2 保存每一帧的点云PCD和里程计矩阵 Odom 在txt文件

修改了源代码的 laserMapping.cpp 文件,替换为下面的代码就可以保存了,注意里面有一个路径,需要修改为你的电脑的路径 // This is an advanced implementation of the algorithm described in the // following paper: // J. Zhang and S. Singh. LOAM: Lidar Odometry an…...

当前主流DDos方式有哪几类

随着互联网的普及和技术的进步,网络安全问题日益凸显。DDoS攻击作为其中一种常见且具破坏性的攻击方式,受到了广泛关注。小德将带领大家一起来了解当前流行的三种DDoS攻击方式。 1. 容量耗尽攻击 容量耗尽攻击是最常见也是最直接的DDoS攻击方式。攻击者通…...

神经网络常见评价指标AUROC(AUC-ROC)、AUPR(AUC-PR)

神经网络的性能可以通过多个评价指标进行衡量,具体选择哪些指标取决于任务的性质。以下是神经网络中常见的评价指标: 准确性(Accuracy): 准确性是最常见的分类任务评价指标,表示模型正确预测的样本数占总样…...

Apache Doris安装部署

Apache Doris安装部署 版本: CentOS 7.6 Apache Doris 0.14.0 编译 选择合适的版本进行下载,此次选择0.14.0版本 下载 | Apache Doris 一、CentOS编译 1 安装依赖 sudo yum groupinstall Development Tools && sudo yum install maven c…...

Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决?

Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决? Index函数解决 INDEX([excel1.xlsx]Sheet1!$E:$E,MATCH(1,EXACT(G5,[excel1.xlsx]Sheet1!$E:$E)*1,0))重点说明&#x…...

4种经典的限流算法

0、基础知识 1000毫秒内,允许2个请求,其他请求全部拒绝。 不拒绝就可能往db打请求,把db干爆~ interval 1000 rate 2; 一、固定窗口限流 固定窗口限流算法(Fixed Window Rate Limiting Algorithm)是…...

<MySQL> 什么是数据库事务?事务该如何使用?

目录 一、事务的概念 二、事务的核心特性 三、事务操作中的常见BUG 3.1 脏读 3.2 不可重复读 3.3 幻读 四、隔离级别 五、使用事务 一、事务的概念 “事务”是指一组操作,在逻辑上是不可分割的,组成这组操作的各个语句,或者全部执行成…...

Linux 网络:PMTUD 简介

文章目录 1. 前言2. Path MTU Discovery(PMTUD) 协议2.1 PMTUD 发现最小 MTU 的过程 3. Linux 的 PMTUD 简析3.1 创建 socket 时初始化 PMTUD 模式3.2 数据发送时 PMTUD 相关处理3.2.1 源头主机发送过程中 PMTU 处理3.2.2 转发过程中 PMTUD 处理 4. PMTUD 观察5. 参考链接 1. 前…...

BatchNormalization:解决神经网络中的内部协变量偏移问题

ICML2015 截至目前51172引 论文链接 代码连接(planing) 文章提出的问题 减少神经网络隐藏层中的”内部协变量偏移”问题。 在机器学习领域存在“协变量偏移”问题,问题的前提是我们划分数据集的时候,训练集和测试集往往假设是独立同分布(i.i.d)的,这种独立同分布更有利于…...

DAC实验(DAC 输出三角波实验)(DAC 输出正弦波实验)

DAC 输出三角波实验 本实验我们来学习使用如何让 DAC 输出三角波,DAC 初始化部分还是用 DAC 输出实验 的,所以做本实验的前提是先学习 DAC 输出实验。 使用 DAC 输出三角波,通过 KEY0/KEY1 两个按键,控制 DAC1 的通道 1 输出两种…...

许多网友可能还不知道,升级到Windows 11其实没那么复杂,只要符合几个条件可以了

如果你的Windows 10电脑可以升级Windows 11,现在怎么办?有几种方法可以免费安装新的操作系统。以下是你的选择。 如果你想升级到Windows 11,你可以随时购买一台已经安装了操作系统的新电脑。然而,如果你目前的Windows 10 PC满足所有必要的升级要求,那么在Windows 11免费的…...

ubuntu下载conda

系统:Ubuntu18.04 (1)下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh 报错错误 403:Forbidden 解决方法 wget -U NoSuchBrowser/1.0 https://mirrors.tuna.tsingh…...

重磅 | 进一步夯实生态建设,朗思科技与阿里龙蜥完成兼容性认证

近日,北京朗思智能科技有限公司(以下简称“朗思科技”)自主研发的数字员工产品与OpenAnolis龙蜥社区龙蜥操作系统(Anolis OS)8完成兼容性认证。测试结果显示,双方产品相互兼容,功能正常&#xf…...

Qt给控件添加图片

双击qrc文件,选择下面的addFiles,将图片添加进来,然后选中图片右键Select All 设置控件字符: ui.btnSet->setText(""); 设置资源: ui.btnSet->setStyleSheet("QPushButton{background-image:…...

3.6-Dockerfile语法梳理及最佳实践

WORKDIR是设置当前docker的工作目录 ADD 和 COPY 为了将本地的一些文件添加到docker image里面,ADD 和 COPY的作用特别像,但是ADD 和 COPY还有一些区别,ADD不仅可以添加本地文件到docker里面,还可以将文件在添加到docker image里面…...

springboot集成nacos并实现自动刷新

目录 1.说明 2.示例 3.自动刷新的注意点 1.说明 springboot项目中存在好多配置文件,比如配置数据信息,redis信息等等,配置文件可以直接放在代码,也可以放在像nacos这样的组件中,实现动态的管理,修改配置…...

java面试八股文2023完整版详解110题附带答案

以下是一份Java面试八股文2023,涵盖了Java编程语言的核心概念和常用技术,帮助你更好地准备面试。 1. Java语言有哪些特点? Java语言是一种面向对象的编程语言,具有简单、面向对象、分布式、多线程、动态等优点。它是一种跨平台的…...

微服务实战系列之Token

前言 什么是“Token”? 它是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便返回给客户端;以后客户端只携带此Token请求数据即可。 简言之,Token其实就是用户身…...

DRF纯净版项目搭建和配置

一、安装模块和项目 1.安装模块 pip install django pip install djangorestframework pip install django-redis # 按需安装 2.开启项目和api (venv) PS D:\pythonProject\env_api> django-admin startproject drf . (venv) PS D:\pythonProject\env_api> python ma…...

AUTODL云服务器使用大致步骤(适合本人版)

(一)在官网上创建一个服务器 (二)远程连接指令: 改为: (三)连接后,可在中进行代码运行 输入一些指令 python .........

无需云盘,不限流量实现Zotero跨平台同步:内网穿透+私有WebDAV服务器

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 无需云盘,不限流量实现Zotero跨平台同步:内网穿透私有WebDAV服务器 文章目…...

简朴博客系统测试报告

文章目录 一. 项目简介二. 测试概要三. 测试环境四. 测试执行概况及功能测试1. 手工测试1.1 手动测试用例编写1.2 执行的部分测试用例 2. 自动化测试Selenium2.1 编写测试用例2.2 自动化测试代码 3. 测试结果 五. 发现的问题 一. 项目简介 简朴博客系统是采用前后端分离的方式…...

Qt遇到常见问题记录

1.Qt版本选择 Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的 (很多嵌入式板子还是用Qt4.8),其实该版本是和Qt5.5差不多时间发布的。 参考链接 Qt 5.5 Released Qt5.6.3最最后支持xp系统的长期支持版本,Q…...

pm2在Windows环境中的使用

pm2 进程管理工具可以Windows操作系统上运行,当一台Windows电脑上需要运行多个进程时,或者运维时需要运行多个进程以提供服务时。可以使用pm2,而不再是使用脚本。 1. 使用PM2管理进程 1.1. 启动PM2项目 1.1.1. 直接启动项目 参数说明&…...

使用百度翻译API或腾讯翻译API做一个小翻译工具

前言 书到用时方恨少,只能临时抱佛脚。英文pdf看不懂,压根看不懂。正好有百度翻译API和腾讯翻译API,就利用两个API自己写一个简单的翻译工具,充分利用资源,用的也放心。 前期准备 关键肯定是两大厂的翻译API&#x…...