你真的会在阳光下拍照片么?
你好,我是小麥。
上节课我们讲了如何通过影子判断光的质量,也就是光的软硬,这节课我们来接着说一说光的方向和环境光的实际运用。
虽然在现实生活里,我们可能没有从软硬的角度观察过光线,但我相信你在拍照片的时候一定听过或说过这么一句话,叫“转过来点儿,那样儿逆光,没法儿拍”。
为什么没法儿拍?因为光是从人背后直直地射进镜头里的,人物在逆光环境下会变成漆黑一片。所以,即便我们不是专业摄影师,我们也多多少少清楚光线是有方向的,而光线的不同方向,就会造成不同的明暗效果。
我们看太阳。清晨的时候,它先从地平线上蹦出来,到九十点钟的时候,它半挂在天上;中午,它会到头顶;下午和傍晚,它会慢慢西沉,最后落下地平线,在地底下转一圈儿,第二天它就又回来了。如果我们把地平线看作 X 轴,那太阳一天的运动就相当于在 X 轴上横跨了 180°。太阳与地平线的夹角随着时间不断变化,这就给我们提供了无数种光线角度的选择。
上节课我们说过,我们管日出之后的半个小时和日落之前的半个小时叫“黄金半小时”,一方面是因为光线由于云层散射变得比较柔和,光线的颜色也会变成金黄,另一方面就是因为太阳在天空的位置比较低,与地平线的夹角比较小,光的方向非常斜,这就给我们提供了均匀的光照环境。
有一点需要补充的是,这个“黄金半小时”不是严格意义上日出后或日落前可丁可卯的半小时,而是摄影师根据长年的拍摄经验,统称日出后和日落前的一段时间为“黄金半小时”。这段时间长则可达四五十分钟,短就不过十几二十分钟,取决于纬度、季节、天气等多种要素。
至于这个“黄金半小时”对成像到底会有什么决定性的影响,不妨先来看两张照片:

左边这张照片拍摄于正午,完美地示范了为什么我们总会说别大中午的出去拍照片,因为大概率会拍得很惊悚。光线从几乎正头顶的角度上打下来,非常硬,人脸上的影子异常分明,脸部纹路极其明显,鼻子底下的那一大片阴影也非常吓人。
再看右边这张,拍摄于太阳落山前的“黄金半小时”。观察影子我们可以发现,虽然夕阳的光线也没有我们想象中的那么软,影子的边缘依然很明显,但由于光的方向不同,角度低了很多,这就使得光线能更均匀、更完整地覆盖在这姑娘的脸上,脸上不会出现莫名其妙多余的阴影。再观察她脖子上的那一小道儿亮光,我们能知道光线是从她斜上方大概 30° 的方向斜射过来的,光在她脸上制造出来的阴影也很好地掩盖了她的部分面部轮廓,显瘦。
虽然同属于硬光,但光的方向一变,观感就完全不一样了。所以,我们甚至可以说,光的方向要比光的软硬更能决定一张照片的观感。为了印证这个说法,我们不妨拿右边的这张照片,去跟另一张照片做一下对比:

刚才右边的那张照片现在还在右边,我们先来看左边这张。左边这张照片,拍摄的时候是多云天气,光的质量非常非常软,并不是在夕阳的硬光下进行拍摄的(左上角的橘黄是 P 上去的)。光从女生左侧偏上一点点的位置打过来,同时,右侧用一块反光板进行补光,好让阴影显得不那么明显。而右边这张照片,虽然没有反光板补光,虽然拍摄用的是“夕阳光”这个本身相比多云的时候更硬的光线,但忽略掉画面本身的色调因素的话,左右两张照片的观感其实差不太多,你可以拿这组例图跟上一组例图做一下对比。因为光的方向一致,所以即便一张照片用了软光源,一张用了硬光源,最终呈现的视觉效果也可以基本保持一致。
所以,我才会说“光的方向比光的软硬更能决定一张照片的观感”。
既然是这样,那我们就要看看不同光线方向能怎么影响照片,先拿人像举例:

这是不同的光线方向会在人脸上留下不同的阴影,而不同的阴影就会制造不同的观感,所以,我们才说,摄影就是光和影的艺术。这组例图非常直观清晰,人脸由于不同的光照角度而形成了不同的视觉效果,即便保持同一个表情,画面情绪也可以不一样。所以,巧妙地利用光线方向,观察光线从不同方向打过来的时候对画面的具体影响,有创意地利用阴影,就会拍出区别于他人的照片,我就不再多解释了。除此之外,我想说说另一件事。
开课以来,我们一直频繁重复一句话,就是摄影的核心是“你得知道你自己到底想干嘛”。拿人像这组图举例,我们看图里的影子,可以知道这是用闪光灯打出来的硬光。而这束光的覆盖面积、均匀程度和它的强指向性都告诉我们,这个闪光灯大概率套了一个标准灯罩,套完标准灯罩以后可能还挡了一层蜂窝网。灯罩和蜂窝网是干嘛的我们下节课会讲到,现在不多说。我之所以经常会提一下拍摄设备,就是因为我想让你知道看到一张照片后,应该怎么来分析,而会分析了,才能模仿。
所以,我们看这组图,先确定了这是闪光灯的硬光,接着我们就要分析一下他为什么用硬光。很简单,因为这是布光示意图,摄影师想让我们非常清楚地看懂不同的光线方向作用于人脸上所能产生的不同视觉效果。如果是软光,例图的效果就会大打折扣,所以,这就是摄影师在拍摄这组例图的时候的背后逻辑。首先,他很清楚自己的拍摄目的(为了拍摄打光示意图),然后再根据这些拍摄目的选择合适的器材和拍摄方式(用闪光灯的强指向性硬光,拍摄正面标准照)。“知道自己想要什么”是摄影的一个核心。
说回到光线,在实际应用中,我们又该如何观察光线,利用光线制造出我们想要的视觉效果呢?
传统上,我们会把日常能见到的光源分成自然光和人造光两大类,也就是除了太阳和火之外,其他的都叫人造光。但我们的课程不太想这么分,我想把光分成环境光和人为光两种,具体来说就是除了人为打灯之外的所有光都可以叫环境光。换句话说,环境光不受你控制,你只能合理地加以利用;而人为光,指的是能被你控制照度、方向、软硬的光。
我们先来看环境光。
环境光相对固定,你进入到一个环境中,你基本不能改变这个环境里的光线,那这时候,你就要学着怎么观察光线了。我下面要讲一个日常环境:超市。用超市这个环境当例子,看看你能不能举一反三,融会贯通。
不知道你有没有发现,有些超市看起来特舒服特高级,有些超市看起来特委屈特土鳖。造成这一观感的原因其实不在于它卖什么,货品都大同小异,最主要的原因就在于灯光。
比如,一般来说,熟食区和瓜果蔬菜区的光照强度 (1000 lux) 要高于百货区的光照强度 (800 lux),尤其是瓜果蔬菜区。同时,这两个区域灯光的色温 (2500-4500) 要比百货区灯光的色温 (4000-6000) 低,也就是说更暖一点(色温这个概念我们第六课的时候有提及)。下次去超市,你可以观察一下是不是这样,如果不是这样,那就是这个超市不太会布灯,如果一个超市布灯不讲究,那其他方面估计也悬,这样的超市大概率看起来会让人觉得有一点委屈。所以我们如果拍人,可以选择在这两个区域拍,一是因为它亮,二是因为它暖。
与此同时,生鲜区,就是卖鱼卖虾那块,光照强度也很大,但它色温偏高,光线偏冷。所以,如果你想拍出一团温馨,画面偏暖偏黄,就可以选择在熟食区和瓜果蔬菜区拍;而如果你想拍出干净凌厉、偏冷偏白的画面,就可以去买鱼鳖虾蟹。
除了光照强度和色温,光线本身的质量也是我们进入到一个环境中该观察的要素。比如,超市里一般有两种灯光,一种是灯管,可能会跟货架方向平行,也可能会跟货架方向垂直,然后成片成片地排列下去。但无论超市怎么布置灯管,这些大片大片的灯管制造出来的光场都会是软光。如果再较真一点,跟货架方向垂直排布的灯管组会比跟货架方向平行排布的灯管组的光照范围更均匀,也就是说更软。除了灯管组之外,超市里的另外一种灯是射灯,光线聚集,照度高,但非常硬。按常理,我应该告诉你尽量在软光下拍人,但你已经学了这么多了,也许你会有自己的想法。
虽然这些名词听起来贼专业,照度、色温,就差没提显色指数了,但其实你完全不需要背它们的定义,你只需要观察光线,看哪儿比哪儿亮,哪儿比哪儿软,哪儿的颜色是你需要的,光是均匀散开的还是指向性非常明确的,然后你就可以决定要在哪儿拍,该怎么拍,是顺着光、逆着光、斜着光、还是组合光线……这一切,都在于你的观察和决策。
最后多一嘴,有些超市有大落地窗,我们能利用室内光线和室外光线的光比做些什么呢?或者,如果室外阳光和煦,我们能利用室内高色温和室外低色温的冷暖对比做些什么呢?谁知道呢,要看你自己了。

讲到这儿,我相信拍摄一张类似这样的照片,对你来说应该已经没什么难度了。下次带娃或者带个谁去超市,记得也带上相机,试着仿拍几张。
想完整认识光线,培养自己对光线的敏感度,不是一天两天的事情,需要你不停地去拍,不停地去看。“光”这个东西其实不太好讲,因为很多人都会觉得自己已经特别懂了,但我相信其实应该没什么人认真观察过超市里的光线。我相信在我说完以后,很多人会在脑子里回想自己逛超市的经历,然后恍然大明白:“哦?好像确实是那样。”所以从今天起,我希望你能养成观察光线的习惯,跟别人说话的时候,去看看当时的环境光怎么在人脸上流动;逛街的时候,看看行人怎么在环境光里游走,哪怕你当时并没有打算拍照片。
这两节课过后,你应该掌握了观察光线的基本方法:进入到一个环境中,先观察光照强度,再观察色温,最后观察光线质量(软硬),通过改变光线方向,寻找不同的光照角度,来改变视觉效果,满足自己的需求。
最后说一个本来打算在前面讲的小知识,但考虑到我们要专门讲“光”,所以就把这个小知识点留到这节课了:阳光十六法则 (The Sunny 16 Rules)。
我们讲了太阳的方位,已经知道怎么利用太阳的位置拍照片了,但还需要配合恰当的光圈快门参数才能拍。我们除了靠相机里的测光表给出曝光值,慢悠悠地调整参数以外,其实还有一种更简便的方法,就是这个“阳光十六法”。它的用处是在不借助测光表的情况下,仅靠肉眼,根据当时的天气状况与光照条件,迅速判断曝光值。
它有这么一首诗:阳光十六阴天八,多云十一日暮四,乌云压顶五点六,雪天落雨同日暮。
我来说一下这都是什么意思:在大晴天的光照环境下,如果你把光圈设为 F16,想得到标准曝光值,只需把快门速度设置为 ISO 的倒数就可以了。比方说,现在阳光灿烂,我在户外拍摄,光圈开在 F16,ISO 125,那么我的标准曝光快门值就是 1/125s,想都不用想就可以直接设置好进行拍摄。如果我突然觉得快门速度不够快,需要提高到 1/500s,那么我直接把 ISO 调到 500 就好。这就是诗里面的“阳光十六”。
“多云十一”、“阴天八”、“乌云压顶五点六”和“日暮四”我就不多讲了,这指的都是光圈值 (F11、F8、F5.6、F4)。在相应的光照环境下,同样把快门速度设置成 ISO 的倒数就可以了。

但是,如果我在阳光灿烂的光照环境里想用 F11 的光圈怎么办?很简单,因为光圈从 F16 变成了 F11,增大了一档,所以曝光也就增大了一档,如果想把这一档曝光拉回来,那么快门速度和 ISO 在互为倒数的基础上,要么快门速度增快一档,要么 ISO 减小一档。
比如,现在阳光灿烂,我本来应该用“F16,1/500s,500”,但现在我的光圈变成了 F11 了,所以要么我的快门速度变成 1/1000s ,要么我的 ISO 变成 250。这全是我们前面讲过的基础知识,为什么说要多加练习,因为等你足够熟悉这些东西以后,根本就不用掰着手指头算这些参数了,看到一个场景你马上就能直觉性地调整参数。
明明都是参数的事儿,为什么我们要把“阳光十六法”放在这儿讲,而不是放在“光圈快门ISO”那部分讲,因为我们需要知道什么叫阳光灿烂,什么叫多云,什么叫阴天,什么叫日暮……你可能以为你知道,但其实你并不知道。
在“光”的第一课我就有说,我们不能按照日常经验来界定光线,比如什么叫阳光灿烂?你能想到很多形容词,但这些形容词不能用来界定一个东西。所以,我们又回到了“看影子”。
阳光灿烂 (F16) = 影子黑,影子清晰可见,影子边缘锋利;多云 (F11) = 影子发灰,影子边缘柔和;阴天 (F8) = 影子隐约可见,或者说几乎不可见;雨雪前 (F5.6) = 没有影子;日暮 (F4) = 没有影子,日暮指的是太阳已经落山但天还没黑的时候,不是夕阳。
现在你知道了如何观察光线,知道了如何利用太阳的时间、太阳的方向来拍摄照片,还知道了在室外的不同光照条件下如何快速调节参数。你可以拿着相机出门试一试我们讲的这个“阳光十六法”,跟“景深陷阱”一样,好用得不行不行的。
** **
总结
这节课我们主要讲了光线的方向,带你初步了解了不同光线方向是如何影响画面效果的。我也说了观察光线的方法,强度、色温、质量(软硬)、方向,光线的四大基本要素。想拍出好看有创意的照片,除了构图外,就是要学会合理地利用这四大要素,把“观察光线”变成你日常的一部分。有效利用光线所制造出的不同明暗效果,才能拍出不同于其他人的照片。
除此之外,我还说了一下阳光十六法则,如何在不借助测光表的情况下,快速判断曝光参数。还是那句话,在实际拍摄时,你根本不会有慢慢调整曝光值的时间。学会阳光十六法则,结合之前的景深陷阱,你就能手起刀落,无往不利。
说完了环境光,你可能还是会对光线有许多疑问,比如,在自然环境照明不充足的时候,我该怎么人为地添加光线?比如,那些在影棚里拍摄,每次都用好几盏灯的摄影师,他们的每盏灯都是在干嘛?当然,最重要的还是我怎么才能把身边人给拍好看?我能不能就用手边的一盏灯,环境里的一束光,把人物拍得传神深邃?
当然可以,这些就是我下节课要讲的内容。
** **
课后小练习
使用“阳光十六法”,在一天里的不同时间点和不同天气的不同天,外出进行拍摄。
在黄金半小时的时候,拍摄一组肖像。要求:让光线从不同角度照射在人脸上,太阳不能动,所以你要主动调整人在光线中的位置和朝向(比如背对光线、完全面向光线、光线从侧面打过来等等),观察不同的光线位置对人脸的影响。
** **
我们下节课见。
文章来源:极客时间《摄影入门课》
相关文章:
你真的会在阳光下拍照片么?
你好,我是小麥。 上节课我们讲了如何通过影子判断光的质量,也就是光的软硬,这节课我们来接着说一说光的方向和环境光的实际运用。 虽然在现实生活里,我们可能没有从软硬的角度观察过光线,但我相信你在拍照片的时候一…...
量化择时——均线策略及改进方法(第1部分—因子测算)
文章目录道氏理论个股股价走势阶段板块、行业股价走势均线策略交易逻辑均线策略效果测算改进一:设置策略信号偏移量改进二:生成止盈止损信号道氏理论 使用盘面数据,根据计算出的一条或多条均线,判断入场与离场的时机,…...
封装几个有用的 Vue3 组合式API
本文将介绍如何使用Vue3来封装一些比较有用的组合API,主要包括背景、实现思路以及一些思考。 就我自己的感觉而言,Hook与Composition API概念是很类似的,事实上在React大部分可用的Hook都可以使用Vue3再实现一遍。 为了拼写方便,下文内容均使用Hook代替Composition API。相…...
MyBatisPlus中的条件构造器Wrapper
引言为什么要了解Wrapper?Wrapper解决的了什么问题?一、Wrapper:条件构造抽象类,用来解决单表操作出现的一些复杂问题,例如排序,和模糊查询等等结构图文字解释AbstractWrapper : 用于查询条件封装ÿ…...
类和对象及其构造方法
类和对象 现实世界的事物由什么组成? 属性 行为 类也可以包含属性和行为,所以使用类描述现实世界事物是非常合适的类和对象的关系是什么? 类是程序中的“设计图纸” 对象是基于图纸生产的具体实体什么是面向对象编程? 面向对象编…...
HStream Console、HStreamDB 0.14 发布
近两个月,HStreamDB 相继发布了 0.13 和 0.14 版本,包含多项已知问题修复。同时,我们也发布了全新的 HStream Console 组件,为 HStreamDB 带来了简洁友好的图形化管理界面,将帮助用户更轻松地使用和管理 HStreamDB. H…...
参考文献怎么查找,去哪里查找?一篇文章讲明白这些问题
在我们撰写论文查找参考文献时,往往不知道从哪里入手,本文小编就针对下面这三个方面给大家详细讲解下: 一、查找参考文献方法 二、参考文献资料查找网站 三、参考文献格式规范 一、查找参考文献方法: 1、知网全球最大的中文数据…...
docker-compose+HAProxy+Keepalived搭建高可用 RabbitMQ 集群
基础环境准备 系统环境:Centos7.6 Docker version: 1.13.1, build 7d71120/1.13.1 Docker Compose version: v2.2.2 三个节点: 10.10.11.79 (这一台做rabbitmq集群根节点) 10.10.11.80 (这台做haproxyke…...
自动化框架如何搭建?让10年阿里自动化测试老司机帮你搞定!自动化测试脚本怎么写?
一、何为框架?何为自动化测试框架? 无论是日常技术交流,还是在自动化测试实践中,经常会听到一个词叫:框架。之前对“框架”这个词知其然不知其所以然。现在看过一些资料以及加上我自己的一些实践有了我自己的一些看法…...
剑指 Offer 15. 二进制中1的个数
剑指 Offer 15. 二进制中1的个数 难度:easy\color{Green}{easy}easy 题目描述 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).…...
CHAPTER 3 磁盘管理
磁盘管理1 磁盘管理1.1 块设备信息(lsblk)1.2 挂载硬盘1.2.1 挂载单个硬盘(mkfs、mount)1.2.2 磁盘分区工具(fdisk)1.2.3 创建分区1.2.4 相关命令1. df2. partprobe3. mkfs1.3 逻辑卷管理器(LVM)1. 涉及概念2. 使用LVM流程1.4 磁盘检测及修复(fsck)1 磁盘…...
MS python学习(7)
Managing Keys - dotenv Managing keys usage of .env module 项目地址:https://github.com/theskumar/python-dotenv Reads the key,value pair from .env and adds them to environment variable. 将key明文(hard code)形式写在script里…...
工业物联网“杀手级”应用—预测性维护
一、预测性维护的必要性 随着新一轮科技革命和产业变革的兴起,工业物联网、大数据、人工智能等技术正与经济社会各领域加速渗透融合。由于市场竞争对精细化成本管控的要求,设备的重要性越来越凸显,设备的维护对策也必然从响应式维护…...
Java代码弱点与修复之——Explicit null dereferenced(显式空间接引用)
弱点描述 Explicit null dereferenced, 显示空间接引用。是 Coverity 静态代码分析工具检测到的一种中风险缺陷。这种缺陷通常发生在尝试使用空指针引用调用对象上的方法或访问属性时。 Explicit null dereferenced的缺陷可能会导致程序崩溃或产生不可预测的结果。 在Java语…...
一元导数与多元求导数总结
前序:文章结构 1.一元导数 ①一般函数求导 因为太简单的原因,事实上一般函数求导不会单独出现,大多数都是出现在各种特殊的求导过程中。只要掌握16个基本求导公式没问题。 ②复合函数求导(主要链式法则) 这种一般是…...
通过堆栈分析深拷贝、浅拷贝、赋值的差异
前言数据类型分为:基本数据类型String、Number、Boolean、Null、Undefined、Symbol对象数据类型Object、Array基本数据类型的特点:直接存储在栈(stack)中的数据引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内…...
网络割接概述
网络割接概述割接背景企业网络的变化割接概述割接难点割接的操作流程情景模拟及解决方案常见的割接场景割接背景 随着企业业务的不断发展,企业网络为了适应业务的需求不断的改造和优化。无论是硬件的扩容、软件的升级、配置的变更,凡是影响现网运行业务…...
开放开源开先河(下)
目录 1.唯一性定义品牌 2.打造爆款塑造品牌 3.生态系统传播品牌 打造爆款塑造品牌 目前全球100多个开源基金会大部分都在美国,已成功孵化了800多个项目。而开放原子开源基金会现有136家捐赠单位,2020年9月,百度将区块链项目超级链࿰…...
maven的学习
为啥要用maven 1、不用认为添加jar包所依赖的其他jar包 2、能在本地仓库只保留一份jar包,避免了多个工程使用相同jar包,需要重复导入的问题,减少冗余 3、能够规范添加jar包,在下载需要的jar包时有多种方法,但是不能保…...
从前端到后端全面解析文件上传
从前端到后端全面解析文件上传1.前端准备(vueelement-ui)2.后端准备(SpringBootminiomysql)2.1解决跨域2.2配置minio与mysql2.3controller层2.4service层1.前端准备(vueelement-ui) <!DOCTYPE html> <html lang"en"> <head><meta charset"…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
