官方服务微信:dat818 购买与出租对接

web全栈开发 技术,web全栈项目开发入门与实战,web全栈开发工程师

2万

主题

2

回帖

8万

积分

管理员

积分
89420
发表于 6 小时前 | 显示全部楼层 |阅读模式
    开启你的编程之旅

    你好,未来的 Web全栈工程师!

    欢迎开始这段令人兴奋的全栈开发之旅。不管你之前有没有接触过编程,都无需忧虑。本教程是专门为零基础的学习者设计的,它就如同一位耐心的向导,会引领你逐步从对代码一无所知成长为能够独自构建完整 Web 应用的开发者(也就是我们所说的“全栈开发”!)。

    你准备好了吗?让我们一同去揭开编程那神秘的面纱,去探索通过代码创造世界所带来的乐趣吧!

    1 欢迎与介绍:Web 世界的蓝图

    在开始敲代码之前,我们首先要了解一些基本概念。接着,我们来描绘一下将要探索的那个世界。

    知识点:

    1.1 什么是编程

    想象一下我在教一个极其听话却完全缺乏自主思考能力的机器人制作早餐。需要给出极为精准且一步都不能错的指令,像“拿起鸡蛋”,接着“敲开蛋壳”,然后“打入碗中”,再进行“搅拌”等等。编程,从本质上来说,就是运用一种计算机能够理解的“语言”(例如我们即将开始学习的那种),给计算机下达一连串精确的指令,以使它完成特定的任务。它并非神秘魔法,而是一种沟通方式,这种沟通方式逻辑性极强,同时它还是一种解决问题的工具。

    1.2 什么是 Web 开发

    简单来说,就是去创建网站以及 Web 应用程序。新闻门户是我们每天会访问的,像微博、知乎这样的社交媒体平台也是,淘宝、京东这样的在线购物网站同样如此,还有视频网站等,这些都是 Web 开发所产生的成果。我们这门课的目标,便是让初学者能够掌握构建这些应用的核心技术。

    1.3 前端 vs 后端

    想象一个餐厅:

    前端:包括餐厅的大堂,还有菜单,以及漂亮的装修,同时也有提供点餐服务的服务员。这部分是顾客能够直接看到并且与之互动的。在 Web 世界中,前端是用户在浏览器里所看到的所有内容,像文字、图片、按钮、表单等,还有与这些内容进行交互时的体验,比如点击按钮有反应、页面滚动很流畅等。主要技术包含 HTML,它的作用是定义内容结构;还有 CSS,其功能是设计样式外观;以及能够实现交互行为的部分。

    后端:指的是餐厅的后厨、仓库以及厨师们。这部分通常是顾客无法看到的,然而它却对整个餐厅的运作起着支撑作用,包括处理订单、烹饪菜肴以及管理库存等。在 Web 世界中,后端的职责是处理前端发送过来的请求,像用户提交的登录信息等,进行业务逻辑运算,与存储数据的数据库进行交互,最后将处理结果返回给前端。我们即将学习的 Node.js 就是一种流行的后端技术。

    全栈 (Full Stack) 意味着什么?

    全栈开发者如同餐厅中的全能经理或老板,既懂得大堂管理(前端),又精通后厨运作(后端)。他们能够理解并参与到一个 Web 应用从开始到结束的整个开发过程,既能构建用户界面,又能搭建服务器以及管理数据库。这使我们具备更全面的视野和更强的解决问题的能力。

    1.4 为什么选择

    通用性:目前只有一门语言能够同时胜任在浏览器中运行的前端开发和借助 Node.js 的后端开发,它是主流编程语言。学一门这样的语言,打通前后端,性价比超高!

    生态系统很强大。它拥有全球最大的开源包管理库 npm(Node )。在这个库中,有海量的现成代码库(轮子)。这些代码库可以极大地提高开发效率。当你需要某种功能时,很可能已经有人帮你写好了。

    社区很活跃,并且资源丰富。这里的学习资料很丰富,教程也很丰富,问答社区更是非常丰富。所以,当遇到问题时,很容易就能找到帮助。

    高需求且广泛应用:从简单的网页特效开始,到复杂的单页应用(SPA),还有移动应用(React)以及桌面应用(此处未提及具体名称),甚至在物联网领域,它的身影随处可见。

    相比一些传统编译型语言,入门曲线对于初学者更为友好,较为平滑。

    目前的低代码工具,其底层语言是扎实的基础。只有具备扎实的基础,才能用好这些工具。我们需要理解工具帮我们封装了哪些内容,以及哪些是需要我们手写代码来解决和扩展的。

    1.5 学习路线图概览

    在本教程里,我们首先会按照 HTML 的顺序进行,接着是 CSS,然后是前端核心部分,再接着是 Node.js 作为后端基础,之后是 React 这个现代前端框架,最后是全栈实战项目。一步一步地,循序渐进,扎实推进。最终,我们能够独自去构思、设计并且开发出功能完备的 Web 应用,就像我们最后一起做的点餐小程序以及电商小程序等这些实用的项目!

    当你全栈熟练掌握了之后,再看低代码里的天书就迎刃而解了。

    1.6 小例子: 的魅力展示

    看看这些由技术构建而成的网站或应用,去感受一下我们即将要学习的技术能够创造出什么样的成果:

    百度地图的流畅地图缩放、拖动以及路线规划,还有大量的交互,这些都是在起推动作用的。

    有一个前端代码展示和交流的社区,在这个社区上面存在着无数由 HTML、CSS 创作出来的炫酷特效以及交互实验。

    这些只是其中的一小部分。如果你掌握了全栈技术,那么你就能够创造出属于自己的精彩。

    2 学习环境搭建:你的数字工作台

    在开始进行编程之前,我们需要将我们的开发环境搭建好。因为工欲善其事,必先利其器,只有先做好这一步,才能更好地进行后续的编程工作。

    知识点:

    这个适用于低代码。低代码中的本地开发,实际上是在 vs code 中进行开发的,接着会把代码实时同步到服务器里。在 21 年公测之时,我们的代码开发是在 vs code 里,只是因为本地编译太慢,后来才改为直接在浏览器里开发。

    2.1 浏览器 ():推荐  

    作用:我们编写的网页需通过浏览器展示给用户。并且,浏览器内置了功能强大的开发者工具,它是调试代码的得力助手。

    安装: 前往   官网 下载并安装。

    开发者工具:在某个环境中按下 F12 键(或者右键点击页面并选择“检查”),就可以打开开发者工具。我们在初期经常会用到查看和修改 HTML/CSS 这个面板,以及查看 输出和错误信息这个面板。先让自己对它们有个印象,之后会详细地使用它们。

   


    代码编辑器推荐使用 Code(VS Code)。

    作用在于它是我们编写代码的场所,就如同程序员的 Word 文档一般。VS Code 是由微软推出的,具备免费、开源以及强大等特性的代码编辑器,能够支持无数种编程语言,并且拥有丰富的插件生态系统。

    对下载的版本进行安装。

    打开 VS Code 后,你能够创建文件,具体方式是通过点击“File > New File”;同时,你还可以创建文件夹,操作是点击“File > Open”,以此来管理你的项目。

    推荐插件 (可选,初期可不装):

    可以在本地启动一个开发服务器,当你保存代码后,浏览器会自动刷新,这是非常方便的。

     - Code : 自动格式化你的代码,保持风格统一。

    如果你需要中文界面,那么就进行打包代码的操作。

    :全能型ai编程助手,通过提示词就可以自动编码

    2.3 Node.js 与 npm (Node  )

    作用:Node.js 可以让程序脱离浏览器,在服务器端得以运行。它是我们进行后端开发学习的基础。npm 是与 Node.js 一同安装的包管理器,可用来下载和管理项目所需要的第三方代码库(“包”)。

    访问 Node.js 的官网。建议下载 LTS(Long Term)版本,因其更为稳定。下载安装包后,一路点击“下一步”,就能完成安装。

    安装完成后,打开你的终端。在  系统下是 cmd ,在 macOS/Linux 系统下是终端。分别输入 node -v 和 npm -v ,如果能够看到版本号输出,那就说明安装成功了。

    如果是系统可以按住键盘的win+r打开命令行

    2.4 Git 与

    Git 是一个功能强大的版本控制系统。就好比你在写论文时,需要不断地进行修改,这样就可能会保存出诸如论文_v1.doc、论文_v2.doc、论文_最终版.doc、论文_最终版_改1.doc 等等这样的文件,是不是会显得很混乱呢?Git 可以帮你以优雅的方式记录每一次代码的修改。你能够随时回溯到任意一个历史版本。你可以比较不同版本之间的差异。你再也不用担心代码改崩了找不到原来的版本。它是团队协作开发的重要基础。

    是一个以 Git 为基础的代码托管平台,你可以将其想象成一个能存放 Git 项目的网盘,然而它的功能远超网盘。你能够在该平台上存储自己的代码仓库,与他人进行分享和协作,同时它也是展示个人项目经历以及打造个人技术品牌的重要平台。

    访问 Git 的官网,然后进行下载并安装操作。在安装过程中,一直选择默认选项就可以了。

    注册 : 访问  官网 免费注册一个账号。

    初步介绍:在教程里,我们会一步步地引入 Git 的基本操作。这些操作包括初始化仓库(git init),添加文件(git add),提交更改(git ),连接远程仓库(git  add),推送代码(git push)等。现在你只需保证 Git 已经安装好,并且拥有一个账号。

    2.5 小例子:牛刀小试

    创建你的第一个网页:

    在你的电脑上创建一个新的文件夹,例如可以将其命名为 my-first-web- 。

    打开这个文件夹可以使用 VS Code ,操作方式为 (File > Open ) 。

    选择我们刚刚创建的文件

    在 VS Code 的侧边栏,通过右键点击空白的位置,接着选择 New File 这一选项,然后将其命名为 index.html。

    在 index.html 文件里,输入以下内容:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="code-snippet__js" data-lang="xml"><code><span leaf=""><span class="code-snippet__meta"><!DOCTYPE </span><span class="code-snippet__meta"><span class="code-snippet__keyword">html</span></span><span class="code-snippet__meta">></span></span></code><code><span leaf=""><span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">html</span></span><span class="code-snippet__tag"> </span><span class="code-snippet__tag"><span class="code-snippet__attr">lang</span></span><span class="code-snippet__tag">=</span><span class="code-snippet__tag"><span class="code-snippet__string">"zh-CN"</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">  <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">head</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">    <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">title</span></span><span class="code-snippet__tag">></span>我的第一个网页<span class="code-snippet__tag"></</span><span class="code-snippet__tag"><span class="code-snippet__name">title</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">    <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">meta</span></span><span class="code-snippet__tag"> </span><span class="code-snippet__tag"><span class="code-snippet__attr">charset</span></span><span class="code-snippet__tag">=</span><span class="code-snippet__tag"><span class="code-snippet__string">"utf-8"</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">    <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">meta</span></span><span class="code-snippet__tag"> </span><span class="code-snippet__tag"><span class="code-snippet__attr">name</span></span><span class="code-snippet__tag">=</span><span class="code-snippet__tag"><span class="code-snippet__string">"viewport"</span></span><span class="code-snippet__tag"> </span><span class="code-snippet__tag"><span class="code-snippet__attr">content</span></span><span class="code-snippet__tag">=</span><span class="code-snippet__tag"><span class="code-snippet__string">宽度为设备宽度,初始缩放比例为 1.0。</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">  <span class="code-snippet__tag"></</span><span class="code-snippet__tag"><span class="code-snippet__name">head</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">  <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">body</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">    <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">h1</span></span><span class="code-snippet__tag">></span>你好,世界!Hello World!<span class="code-snippet__tag"></</span><span class="code-snippet__tag"><span class="code-snippet__name">h1</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">    <span class="code-snippet__tag"><</span><span class="code-snippet__tag"><span class="code-snippet__name">p</span></span><span class="code-snippet__tag">></span>我正在学习 Web 开发!<span class="code-snippet__tag"></</span><span class="code-snippet__tag"><span class="code-snippet__name">p</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf="">  <span class="code-snippet__tag"></</span><span class="code-snippet__tag"><span class="code-snippet__name">body</span></span><span class="code-snippet__tag">></span></span></code><code><span leaf=""><span class="code-snippet__tag"></</span><span class="code-snippet__tag"><span class="code-snippet__name">html</span></span><span class="code-snippet__tag">></span></span></code></pre></p>
    保存文件 (Ctrl+S 或 Cmd+S)。

    右键选择后在文件管理器中打开,找到这个 index.html 文件,接着双击它,它就会在你的默认浏览器(例如 )里打开。瞧!这便是你的第一个网页!

    如果安装了 Live 插件,那么在 index.html 文件上进行右键操作,接着选择 Open with Live 。这样它会自动在浏览器中打开。并且,当你修改代码并保存后,浏览器会自动进行刷新,这会更加方便。

    初始化 Git 仓库 (在终端中操作):

    打开你的终端 ()。

    输入 git init 后按下回车键。你将看到诸如“empty Git in...”这样的提示。这意味着 Git 已经开始对这个文件夹进行管理了。

    输入 git add index.html ,然后按下回车键。这意味着告知 Git 你希望将 index.html 这个文件的当前状态添加到“暂存区”中,以便进行记录。

    输入 git 并回车,同时加上 -m " : Added my first HTML page" 。这样做会将暂存区的内容正式记录到 Git 的历史记录里,并且 -m 后面的文字是对这次修改的简要描述。

    不要担心这些 Git 命令眼下显得有些复杂。我们之后会进行详细的讲解,并且会反复进行练习。此刻,你的开发环境大致已经准备就绪了。

    3 学习方法与心态:升级打怪的心法

    学习编程如同学习一门新乐器或者一项新运动。理论知识是重要的,然而更重要的是持续地进行练习以及拥有正确的心态。

    知识点:

    3.1 动手实践,勤加练习

    这是学习编程的首要金科玉律!仅仅看懂教程并不能说明你学会了。一定要动手跟着敲代码,让代码运行起来,对其进行修改,观察会产生什么样的变化。教程里的每个小例子以及每节课后的练习题,都是为你量身定制的“肌肉记忆”训练。当遇到阶段项目时,一定要独立去尝试完成,这才是真正用于检验和巩固所学知识的过程。

    3.2 学会查阅官方文档

    教程能够引导你进入入门阶段,然而技术的细节以及最新的更新通常都在官方文档当中。当遇到不明白的 HTML 标签的使用方法、CSS 属性所产生的效果、函数的功能、Node.js 模块或者 React API 时,首先应该做的是去查找权威的资料。

    MDN Web Docs 是前端开发者的圣经,它涵盖了 HTML 和 CSS 等内容。

    Node.js : Node.js 官方文档。()

    React : React 官方文档。( 或  - 新版)

    学会阅读文档,是你从新手走向独立开发者的重要一步。

    3.3 有效提问

    遇到无法解决的问题时,寻求帮助是很正常的。不过在提问之前,要确保你已经做到了以下几点:

    尝试自己搜索和调试过。

    可以清晰地描述你所遭遇的问题,能够说明你进行了哪些尝试,还可以表明你期望得到怎样的结果,以及实际得到的结果是什么。

    如果涉及代码,给出能够复现问题的最小代码片段,而不是一大段不相关的代码。

    提供清晰的错误信息(如果有的话)。

    在 AI 编程工具尚未出现之前,能够自主借助搜索引擎来解决问题。AI 编程工具出现之后,有效提问依然是有效的,只是需要像向大模型提问那样,问题越是具体,所得到的答案就会越精准。

    3.4 拥抱 Bug,调试是常态

    没有人能够写出没有 Bug(错误)的代码,即便对方是资深开发者。程序出现错误了?这是一件很棒的事情!这意味着有一个学习和成长的机会。你需要去培养调试(Debug)的能力,要像侦探那样,依据错误信息,借助.log()输出,运用浏览器的开发者工具或者 VS Code 的调试器,逐步缩小范围,最终找到并修复问题。把调试看作是解谜游戏,你会发现其中的乐趣。

    跟着教程练习时,遇到问题不应该首先怀疑博主写的有问题。因为有时候错误的形式多种多样,不一定是作者的代码有问题。

    3.5 保持好奇心与探索欲

    Web 开发是一个处于不断变化中的领域。要保持好奇心,主动去知晓新的技术、新的框架以及新的工具。可以试着对教程里的例子进行修改,观察不同的代码会带来怎样不同的效果。多在技术社区中逛逛,看看其他人都在开展哪些有趣的项目。这份好奇心将会成为你持续学习和进步的最大动力。

    结语

    导论部分到此结束。我们知晓了 Web 开发的基本概念,搭建起了必要的工具,还明确了学习的心态与方法。这就如同在冒险开始之前,准备工作已然完成,装备和地图都已准备妥当。

    接下来,我们要正式开始进入第一个技术篇章,那就是 HTML。我们要学习怎样去构建网页的骨架。准备好啦,我们的 Web 开发冒险,此刻正式开始启程啦!

更多帖子推荐

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-4-25 21:34 , Processed in 0.116548 second(s), 17 queries .