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

前端必懂:开发环境、构建打包的核心差异,新手再也不踩坑

前端必懂开发环境、构建打包的核心差异新手再也不踩坑文章目录前端必懂开发环境、构建打包的核心差异新手再也不踩坑一、先一句话打通核心逻辑新手必记二、开发环境怎么舒服怎么写容错率拉满1\. 开发时的典型状态2\. 开发时的典型项目结构以Vue为例三、构建打包多余的全删掉结构彻底重构1\. 构建打包会做什么新手必看2\. 打包后的典型项目结构dist文件夹四、新手最关心的2个问题一次性解答问题1项目结构一定会变吗能不能不变问题2开发时模仿打包结构能减少变化吗五、新手避坑2个规范让开发/打包不踩路径坑1\. 资源存放规范2\. 路径写法规范六、终极总结新手背下来再也不迷糊作为前端新手你是不是也有过这样的困惑开发时写的代码明明能正常运行一执行npm run build打包后要么图片消失、样式失效要么路径报错、页面白屏明明开发时文件夹分得清清楚楚打包后却变得面目全非完全认不出原来的结构。其实这不是你写得不好而是「开发环境」和「构建打包后环境」的核心逻辑、目标完全不同——就像你写草稿和印刷成书的区别草稿怎么方便怎么来成书却要规范、简洁、易传播。结合自己的开发经历今天就用最通俗的语言把「开发环境、构建、打包」的关系、差异以及新手最容易踩的路径坑一次性讲透看完再也不迷糊一、先一句话打通核心逻辑新手必记开发环境 给程序员写代码用的「草稿本」怎么方便怎么来构建打包 把「草稿本」变成给浏览器运行的「成品书」多余的全删掉混乱的全整理项目结构一定会变但变多少、会不会踩坑全看你开发时的规范度。二、开发环境怎么舒服怎么写容错率拉满开发环境通常用npm run dev启动的核心目标只有一个让你写代码、调bug更方便完全不用考虑「运行效率」「文件体积」这些问题。1. 开发时的典型状态文件夹随便建只要你能找到文件哪怕建10个嵌套文件夹、用中文命名都没问题注释随便写详细的注释、调试日志哪怕是临时的测试代码都可以保留方便你后续修改和排查问题路径随便写\./images/logo\.png、\.\./assets/css/style\.css甚至路径写错一点开发服务器也会自动帮你查找、补全大概率能正常显示文件不压缩、不合并你写的每一个\.vue、\.js、\.scss文件都是独立的浏览器能实时加载改一行代码页面立刻刷新热更新。2. 开发时的典型项目结构以Vue为例src/ api/ // 接口请求 assets/ // 图片、样式、字体 images/ // 图片资源 css/ // 样式文件 components/ // 公共组件 pages/ // 页面组件 router/ // 路由配置 main.js // 入口文件 App.vue // 根组件 // 还有各种注释、临时测试文件这个结构的核心是「清晰、易维护」完全为程序员服务浏览器看不懂\.vue、\.scss没关系开发服务器会自动编译、解析让你能实时看到效果。三、构建打包多余的全删掉结构彻底重构当你写完代码执行npm run build构建打包工具Vite、Webpack等会自动帮你完成「从草稿到成品」的转换——这个过程就是把「给人看的代码」变成「给机器浏览器看的代码」。这里要明确一个关键构建是一个更广泛的概念打包是构建过程中的核心步骤。构建不仅包括打包还会完成编译、代码检查、资源优化等一系列操作最终输出可直接部署的成品文件。1. 构建打包会做什么新手必看编译转换把浏览器不认识的\.vue、\.scss、\.less转换成浏览器能直接运行的\.js、\.css删除无用内容所有注释、空格、换行甚至你写的临时测试代码全部删掉只保留能运行的核心代码压缩优化把\.js、\.css代码压缩变量名改成a、b、c代码挤成一行图片压缩、重命名加哈希值比如logo\.png→logo\.6a8b2c\.png合并整理把分散的多个\.js、\.css文件合并成少数几个减少浏览器请求次数所有图片、字体等资源统一归类到指定文件夹路径重写自动计算所有资源的最终路径确保打包后能正常加载这也是新手最容易踩坑的地方。2. 打包后的典型项目结构dist文件夹dist/ // 打包后的成品文件夹所有内容可直接部署 index.html // 入口页面唯一的HTML文件 assets/ // 所有静态资源统一归类 js/ // 压缩后的JS文件加哈希 app.abc123.js chunk.xyz789.js css/ // 抽离后的CSS文件加哈希 app.def456.css img/ // 压缩、重命名后的图片 logo.6a8b2c.png bg.9f7e5d.jpg对比开发时的结构你会发现原来的src、components、pages文件夹全部消失所有\.vue文件不见了全部编译成了\.js文件名字都加了哈希值比如abc123这是为了控制浏览器缓存避免用户看不到最新版本整个结构变得非常简洁只有「入口页面资源文件夹」完全为浏览器加载优化。四、新手最关心的2个问题一次性解答问题1项目结构一定会变吗能不能不变答案一定会变无法避免。哪怕你开发时刻意模仿打包后的结构构建工具依然会做压缩、重命名、合并操作——因为开发的目标是「方便你」打包的目标是「方便浏览器」两个目标天生冲突结构自然不可能完全一致。比如你开发时把图片放在src/assets/img打包后依然会被放到dist/assets/img但图片名字会加哈希路径会被重写这是构建工具的天生行为无法取消。问题2开发时模仿打包结构能减少变化吗答案可以减少一点表面变化但完全没必要还会增加你的开发成本。你开发时刻意把文件夹改成dist/assets/js、dist/assets/img确实能让打包后的结构和开发时更像但这样会让你写代码时非常麻烦要手动维护复杂的目录结构不能随便新建文件夹注释、临时代码不敢随便写怕打包时删不干净最关键的是路径问题依然可能踩坑——因为打包时路径会被重写你手动写的路径依然可能和打包后的路径不匹配。真正有用的不是「模仿结构」而是「规范放资源、规范写路径」——只要你按标准来哪怕结构变了路径也能自动对应开发和打包后都能正常运行。五、新手避坑2个规范让开发/打包不踩路径坑前面说过开发时路径宽松打包后路径严格这是新手最容易踩的坑开发能跑打包后白屏/图片消失。分享2个最简单的规范一招避坑1. 资源存放规范动态资源图片、字体、样式全部放在src/assets/下按类型分类比如assets/images、assets/fonts静态资源favicon.ico、robots.txt放在public/下打包时会原样拷贝到 dist 根目录无需编译注意public/下的资源不能用import引入要直接用绝对路径比如/favicon\.ico否则打包后会报错。2. 路径写法规范引用src/assets/下的资源用「符号」Vue、Vite默认配置比如/assets/images/logo\.png避免用多级相对路径比如\.\./\.\./assets/logo\.png打包后目录结构变化这种路径会失效如果部署到服务器子路径比如https://xxx\.com/app/要配置 Vite 的base或 Webpack 的publicPath否则打包后路径会出错。举个例子!-- 正确写法开发、打包都能正常显示 -- img src/assets/images/logo.png altlogo !-- 错误写法打包后会找不到资源 -- img src./assets/images/logo.png altlogo六、终极总结新手背下来再也不迷糊开发环境给人写的怎么方便怎么来容错率高核心是「易开发、易修改」构建打包给机器跑的多余的全删掉结构全重构核心是「小体积、快加载」项目结构一定会变不用刻意模仿打包结构规范放资源、写路径才是关键开发能跑 ≠ 打包后能跑路径问题是新手最大的坑按上面的规范来就能避免90%的问题。其实前端的「开发-构建-打包」和我们平时做桌面软件比如C的exe逻辑完全一样开发时写代码、调bug构建打包后变成用户能直接用的成品只是表现形式不同而已。如果你是前端新手刚开始不用纠结构建工具的底层原理先记住「开发和打包的核心差异」按规范写代码、放资源先解决「能正常打包、不报错」的问题后续再慢慢深入研究Vite、Webpack的配置细节。最后祝所有前端新手都能摆脱「打包报错」的困扰顺利把自己写的代码变成能给别人用的成品如果觉得有帮助欢迎点赞、收藏关注我后续分享更多前端新手避坑技巧~

相关文章:

前端必懂:开发环境、构建打包的核心差异,新手再也不踩坑

前端必懂:开发环境、构建打包的核心差异,新手再也不踩坑 文章目录前端必懂:开发环境、构建打包的核心差异,新手再也不踩坑一、先一句话打通核心逻辑(新手必记)二、开发环境:怎么舒服怎么写&…...

连登IEEE/Elsevier一区TOP刊!PINN+强化学习新突破!

**研究方法:**论文提出基于PINNs与强化学习融合的自适应优化控制方法,通过PINNs整合物理定律与在线数据建模系统动力学,借助自动微分特性辅助自适应动态规划迭代逼近连续时间哈密顿-雅可比-贝尔曼方程解,结合Actor-Critic框架优化…...

知新研学 |AlignMamba:AlignMamba:通过局部和全局跨模态对齐增强多模态 Mamba 技术

导言 多模态表示融合是整合和理解不同模态(如音频、视频、语言)信息的关键技术,对视觉语言理解和音视频分析等应用至关重要。然而,实现有效的跨模态融合面临两大挑战:一是传统的Transformer架构虽然能捕捉动态交互&am…...

电力电子新手必看:SPWM单极性倍频调制在Simulink中的实现与优化

电力电子新手必看:SPWM单极性倍频调制在Simulink中的实现与优化 在电力电子领域,正弦脉宽调制(SPWM)技术因其简单高效而广受欢迎。对于初学者而言,单极性倍频调制作为SPWM的一种进阶实现方式,能够显著提升输…...

Ubuntu 20.04忘记密码?5分钟搞定root和用户密码重置(附GRUB菜单截图)

Ubuntu 20.04密码重置实战指南:从GRUB到恢复模式的完整流程 当你面对一台锁定的Ubuntu 20.04机器时,那种焦虑感我深有体会——无论是个人开发环境还是团队共享服务器,密码遗忘都可能造成工作流程的中断。不同于Windows系统的密码重置工具&am…...

手把手教你开发电竞护航系统:从零到上线的小程序全流程

手把手教你开发电竞护航系统:从零到上线的小程序全流程 电竞产业近年来呈现爆发式增长,职业选手和游戏爱好者对专业服务的需求与日俱增。一款优秀的电竞护航小程序不仅能提供赛事资讯、战队管理、训练计划等基础功能,更能通过智能算法为玩家匹…...

51单片机(一) --- 入门

一、核心基础概念铺垫 在接触 51 单片机实操前,先理清 CPU、处理器架构、位运算等基础概念,这是理解单片机工作原理的核心前提。 1.1 CPU 与处理器主频 CPU(Central Processing Unit) 即中央处理器,是所有计算设备的…...

离谱又惊艳!C++隐藏宝藏库numeric_range深度探索,竟藏着JS彩蛋和隐零点

文章目录离谱又惊艳!C隐藏宝藏库numeric_range深度探索,竟藏着JS彩蛋和隐零点一、初遇:以为是青铜,实则是王者二、深挖:废弃方法的“马甲现场”,官方摆烂实锤三、惊现:一整个范围家族&#xff0…...

论文不同章节降AI策略不同:分章节精准处理的完整教程

论文不同章节降AI策略不同:分章节精准处理的完整教程 上周室友第一次用降AI工具,操作错了好几步,差点浪费机会。觉得有必要写一篇详细教程。 我用的是嘎嘎降AI(www.aigcleaner.com),4.8元一篇&#xff0c…...

如何用嘎嘎降AI处理文献综述部分:综述专项降AI教程

如何用嘎嘎降AI处理文献综述部分:综述专项降AI教程 这篇教程来自实操经验。帮三个同学处理过论文AI率,加上自己的,前后操作了十几次。把流程总结成教程,尽量详细。 核心工具推荐嘎嘎降AI(www.aigcleaner.com&#xf…...

用AI提升答辩质量:10款必备工具(含爱毕业)与专业模板测评

工具对比速览 工具名称 核心功能 适用场景 特色优势 Aibiye 智能成文、文献查找、数据分析 社科/金融/理工类论文 融合多模型架构,精准把握高校规范 Aicheck 初稿生成、大纲定制、图表插入 快速完成初稿需求 全学科覆盖,20-30分钟极速生成 A…...

毕业论文答辩利器:AI驱动的10款高效工具及模板深度评测

工具对比速览表 工具名称 核心功能 适用场景 特色优势 Aibiye 智能成文、文献查找、数据分析 社科/金融/理工类论文 融合多模型架构,精准把握高校规范 Aicheck 初稿生成、大纲定制、图表插入 快速完成初稿需求 全学科覆盖,20-30分钟极速生成 …...

智能工具助力论文答辩:精选10款AI应用(含爱毕业aibiye)与权威模板分析

工具对比速览表 工具名称 核心功能 适用场景 特色优势 Aibiye 智能成文、文献查找、数据分析 社科/金融/理工类论文 融合多模型架构,精准把握高校规范 Aicheck 初稿生成、大纲定制、图表插入 快速完成初稿需求 全学科覆盖,20-30分钟极速生成 …...

别再只调参了!深入torchvision.datasets.CIFAR10源码,理解PyTorch数据加载的设计哲学

深入torchvision.datasets.CIFAR10源码:解码PyTorch数据加载的工程美学 当你第一次在PyTorch中写下torchvision.datasets.CIFAR10(root./data)这行代码时,是否想过这简单的调用背后隐藏着怎样的设计智慧?对于已经能够熟练调用各种数据集接口的…...

雷达目标分类及宽带测角方案设计实现

本文参考,仅供学习使用基于飞腾M6678的雷达目标 分类和宽带测角研究与实现硬件计算平台介绍1. 飞腾M6678芯片核心参数与优势飞腾M6678是国防科技大学自主研发的国产多核DSP,专为数字信号处理设计,核心特性为:硬件资源:…...

国产DSP

1. 知识关联图&#xff08;Mermaid&#xff09;1.1 中断层级图graph LR A[Input Event<br>(SRIO/DMA/定时器等)] --> B[CIC中断分发控制器] B --> C[核内INTC中断控制器] C --> D[CorePac DSP核心] style B fill:#f0f0ff,stroke:#333 note right of B: &#x1…...

保姆级教程:用MS-Swift在本地电脑上跑通Qwen2.5-VL多模态大模型(附WebUI界面)

零基础玩转Qwen2.5-VL&#xff1a;手把手教你用MS-Swift搭建多模态AI实验室 想象一下&#xff0c;你的电脑不仅能理解你说的话&#xff0c;还能"看懂"你上传的照片——比如准确描述图片中的猫咪姿势&#xff0c;或者帮你分析设计稿的配色方案。这就是Qwen2.5-VL多模态…...

UG NX 合并曲面减少面得数量

“同步建模”里的“优化面” 确实是处理这类问题最直接、最高效的命令。对于客户发来的非参数化模型&#xff08;比如 STP、IGS 等&#xff09;&#xff0c;中间有碎线或分割线导致的“假面”&#xff0c;用它来合并非常合适。核心操作&#xff1a;使用“优化面”命令 启动命令…...

HJ164 太阳系DISCO

题目题解(7)讨论(12)排行 中等 通过率&#xff1a;33.93% 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 知识点广度优先搜索(BFS) 校招时部分企业笔试将禁止编程题跳出页面&#xff0c;为提前适应&#xff0c;练习时请使用在线自测&#xff0c;而非本地IDE。 描述 …...

HJ163 时津风的资源收集

题目题解(15)讨论(7)排行 中等 通过率&#xff1a;44.75% 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 知识点广度优先搜索(BFS) 校招时部分企业笔试将禁止编程题跳出页面&#xff0c;为提前适应&#xff0c;练习时请使用在线自测&#xff0c;而非本地IDE。 描述 …...

从Logistic曲线到疫情预测:用Python和SciPy复现SI传染病模型(附代码)

从Logistic曲线到疫情预测&#xff1a;用Python和SciPy复现SI传染病模型&#xff08;附代码&#xff09; 最近在整理疫情数据时&#xff0c;我发现一个有趣的现象&#xff1a;很多地区的感染人数增长曲线都呈现出典型的S型特征。这让我想起了经典的SI传染病模型&#xff0c;它用…...

用AirSim和Habitat手把手教你搭建第一个无人机VLN仿真环境(避坑指南)

从零搭建无人机视觉语言导航仿真环境&#xff1a;AirSim与Habitat实战指南 第一次接触无人机视觉语言导航&#xff08;VLN&#xff09;时&#xff0c;我被这个交叉领域深深吸引——它完美融合了计算机视觉、自然语言处理和机器人控制三大技术方向。但当我真正开始动手实践时&am…...

学生评教|高校评教|基于SpringBoot+vue高校学生评教系统 (源码+数据库+文档)

高校学生评教系统 目录 基于SpringBootvue高校学生评教系统 一、前言 二、系统设计 三、系统功能设计 1学生功能模块 2管理员功能模块 3老师功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&a…...

2026届学术党必备的六大AI写作方案横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek DeepSeek身为先进的大语言模型&#xff0c;能够为学术论文写作给予系统性辅助。研究者理应首…...

2025届毕业生推荐的五大降AI率方案解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能写作工具&#xff0c;是借助自然语言处理以及深度学习技术制造的智能辅助系统&#…...

2025届毕业生推荐的六大AI学术工具推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 智能写作工具DeepSeek&#xff0c;于论文写作里有着显著辅助价值&#xff0c;用户能够输入研…...

无效加班多,工资一般的软件开发公司有必要留在公司吗?你的代码可以重构,但你的人生不能重来。及时止损才是最理性的选择。

你的代码可以重构&#xff0c;但你的人生不能重来。在一家既给不了钱、又给不了成长、还在消耗你健康的公司&#xff0c;及时止损才是最理性的选择。 无效加班多&#xff0c;工资一般的软件开发公司有必要留在公司吗&#xff1f; 面对“无效加班多”且“工资一般”的现状&#…...

OpenClaw 龙虾消耗的 token 跟 Java 开发中调用接口用到的 token 是一个概念吗

OpenClaw 龙虾消耗的 token 跟 Java 开发中调用接口用到的 token 是一个概念吗 不是同一个概念。虽然它们都叫 “token”&#xff0c;但在 Java 开发和人工智能这两个领域中&#xff0c;它们是完全不同的两个东西。 简单来说&#xff0c;Java 开发中的 Token 是身份凭证&#x…...

四场景下的两阶段鲁棒优化模型构建与实施——列与约束生成算法及其数据处理机制探究

两阶段鲁棒优化模型 多场景 采用matlab编程两阶段鲁棒优化程序&#xff0c;考虑四个场景&#xff0c;模型采用列与约束生成&#xff08;CCG&#xff09;算法进行求解&#xff0c;场景分布的概率置信区间由 1-范数和∞-范数约束&#xff0c;程序含拉丁超立方抽样kmeans数据处理程…...

基于双向反激变换器的SOC估算与主动均衡策略仿真研究——复现硕士论文并拓展六节电池模型与均衡策略分析

基于双向反激变换器的SOC估算与主动均衡仿真 可以 [1]复现硕士论文&#xff1a;《锂离子电池SOC估算与主动均衡策略研究_王昊》 [2]六节电池模型&#xff1a;使用Simmulink搭建了六节电池主动均衡仿真 [3]均衡策略&#xff1a;选择了电压、SOC及其分阶段使用作为主动均衡变量&a…...