前端开发基础2:VS Code和Edge的联动开发

简介: 介绍edge tools, live server两个常用插件的用法。

前端开发基础2:VS Code和Edge的联动开发

1.  创建资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。

说明:资源创建过程需要3~5分钟视资源不同开通时间有所差异,ACK等资源开通时间较长。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。

实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

资源创建成功,可在左侧的资源卡片中查看相关资源信息以及RAM子账号信息

2.  进入VNC实验环境

  1. 进入网页环境。

在远程桌面页面中,双击Chromium网页浏览器

  1. 登录RAM用户。

2.1 浏览器启动后会默认打开阿里云的RAM用户登录页面,在RAM用户登录框中单击下一步

2.2 复制粘贴页面左上角的子用户密码用户密码输入框,单击登录

  1. 进入ECS的远程连接。

3.1 登录成功后跳转到控制台,我们在控制台的搜索框中输入ECS,然后单击云服务器ECS进入云服务器控制台。

3.2 在ECS控制台中,我们找到实验创建的ECS,点击右侧的远程连接按钮。

  1. 在远程连接中选择通过VNC远程连接中的立即登录,如果没有显示该选项,则可单击展开其他登录方式

  1. 登录VNC远程连接。

4.1 初次登录VNC远程连接时需要先设置VNC密码。单击重置VNC密码

4.2 输入两次新的VNC密码,并单击确定

4.3 VNC密码设置成功后,输入密码并单击确定

4.4 VNC登录成功后会看到实验ECS的登录界面。

说明:dev账户的登录密码为 Dev12345

3.  Edge Tools插件的安装和配置

在上一个实验中,我们为大家介绍了vscode和edge的基本用法。但是最基本的开发架构下,开发的过程中开发人员需要在vscode和edge两个软件之间反复切换,从而大大影响了开发效率,因此本次实验我们将为大家解释两款常用的Web开发插件Edge  Tools和Live Server。接下来我们将为大家介绍Edge Tools插件,通过这个插件我们可以实现vscode和edge的联动开发。

  1. Edge Tools插件的安装

在扩展管理上部输入框中输入 Edge Tools,选择 Microsoft Edge Tools for VS Code。单击安装

基本插件安装之后的效果如下,在功能导航栏出现了Edge Tools插件的功能选项。

 

2. Edge Tools插件的基本用法

2.1 我们打开Demo项目的文件夹,选择菜单 文件-> 打开文件夹...->选择 /home/dev/web,单击 打开

2.2 在资源管理器选项卡中选择index.html并点击右键,选择Open with Edge->Open Browser with DevTools菜单项。

我们发现Edge浏览器集成到了vscode编辑器中。通过这种方式开发人员即可避免频繁的切换不同的应用。

 

2.3 接下来我们点击vscode代码编辑器中的22行的左侧,在代码编辑器设置断点,然后点击网页中的button按钮。

这时我们会发现调试功能已经在vscode编译器中生效。

 

2.4 当我们在vscode编译器中进行调试时,可以通过上方的调试工具条发送调试指令。我们点击继续按钮即可让程序继续运行,点击停止按钮即可退出调试模式回到文本编辑状态。    

3. 通过Edge Tools创建调试配置文件。

3.1 通过上面的方法我们可以设置针对单个网页文件的运行和调试。对于大型项目来说网页文件往往很多,选择单文件调试往往比较麻烦。这时我们可以将Edge Tools工具配置成为vscode的默认调试方法。通过统一的调试入口启动edge运行调试网页。首先我们选择Edge Tools选项卡,单击Generate launch.json按钮,

3.2 在选择资源管理器选项卡,我们会发现在.vscode目录中,生成了launch.json配置文件。

3.3 接下来我们对launch.json文件进行配置,在"configurations":字段中找到三个"url":配置项。

3.4 将三个"url":配置项修改为如下内容。

"url": "file:///home/dev/web/index.html",

3.5 配置文件修改好之后,我们选择vscdoe的运行和调试选项卡,在选项卡的头部,可以看到调试模式下拉框,在下拉框中有两个调试选项。我们选择Launch Edge Headless and attach DevTools选项,然后点击下拉框左侧的开始调试按钮。

 

3.6 同样可以进入vscode的调试模式,完成调试工作。在此我们先退出调试模式。单击顶部的停止按钮。

3.7 接下来我们在选择Launch Edge and attach DevTools选项,再次单击开始调试按钮。

此时我们看到在这种模式下,Edge以单独浏览器的形式进行了启动。但是开发人员所有的调试工作还是在vscode中进行。

4.  Edge和VS Code之间的联动用法

上一个小节我们为大家展示了通过Edge Tools将Edge的调试功能绑定到vscode中。实际上除了将edge绑定到vscode,我们还可以将edge中的文本修改同步到vscode中。本小节我们将为大家介绍这一功能。

  1. VS Code到Edge的文本实时更新

1.1 在运行和调试选项卡中选择headless模式,并点击开始调试按钮。

1.2 选择资源管理器选项卡,并选择index.html文件,将文件中的Hello World修改为Hello World 001,修改完成后点击重启按钮。

可以发现页面已经更新。

  1. Edge在Headless模式下的文本更新。

2.1 接下来我们来学习如何从Edge编辑器直接更新css的属性值,首先我们在内嵌Edge的DevTools中选择元素选项卡,然后选择<body>元素,在下方的样式选项卡可以看到<body>对应的样式选项卡。在样式中,我们可以看到在style.css文件中定义的属性值background-color

 ‘

2.2 我们单击background-color属性值中的颜色块,即可进入颜色编辑器。在颜色编辑器中。我们可以通过拖动的方式修改<body>的背景颜色。

2.3 当颜色修改之后,我们选择sytle.css文件,我们可以看到颜色属性已经自动修改了。我们按Ctrl+S快捷键保存文件即可

 

  1. Edge在独立模式下的文本更新。

3.1 上一小节中我们介绍了Headless模式下的属性文本自动更新。而对于独立应用模式下,实现文本的自动更新需要进行相关的配置,这一小节我们来学习如何进行配置。首先我们在运行和调试选项卡中选择普通模式,并点击开始调试按钮。

3.2 在单独打开的edge浏览器中,选择菜单项设置及其他->更多工具->开发人员工具

3.3 选择源代码选项卡->文件系统选项卡->将文件夹添加到工作区

3.4 选择/home/dev/web目录,单击选择

3.5 在选择目录之后,还需要再浏览器上方对DevTools工具授权,单击允许

3.6 授权之后,即可看到源代码目录被添加到了工作区,这时候我们选择index.html文件,将Hello World修改为Hello World 002,并按下Ctrl + S保存。

 ‘

3.7 切换到vscode编译器,选择index.html文件,会发现文件内容已经和edge中的修改同步。

 

由此可见不论是headless嵌入式edge还是独立运行的edge中,当我们修改样式或者代码时,vscode都会自动加载,但是在vscode中修改样式则需要edge从新加载。

5.  Live Server的安装和使用

上一个小节我们介绍了通过EdgeTools和DevTools实现vscode和edge的联动调试,但是通过这种方法打开的网页,使用的是本地文件协议而不是http协议。这两种协议在开发动态加载网页时的逻辑还是会有很大的差异。本小节我们为大家演示两者的差异,以及如何通过Live  Server插件实现通过web协议调试本地网页。

  1. 本地文件系统开发动态加载网页时的问题。

1.1 我们打开并修改index.html,修改onClick()函数,将功能调整为动态加载sytle.css。文件为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Web dev</title>
<body>
    <div>
        Hello World
    </div>
    <div>
        <button onclick="onClick()">button</button>
    </div>
    <div id="text">
    </div>
    <script type="text/javascript">
        var count = 0
        function onClick() {
            var xhr = new XMLHttpRequest();
            xhr.open("get", "style.css")
            xhr.onreadystatechange = function(){
                if( xhr.readyState == xhr.DONE && xhr.status == 200 ){
                    document.getElementById("text").textContent = (count++ + " " + xhr.responseText);
                }
            }
            xhr.send()
        }
    </script>
</body>
</html>

1.2 在运行和调试选项卡选择Headless模式进行调试。在web页面上点击button按钮。我们会发现由于CORS安全策略,动态加载功能无法实现。因此我们需要新的方法进行本地调试。

  1. Live Server 插件得安装和使用。

2.1 我们进入扩展选项卡,并搜索Live Server ,单击安装

2.2 安装完毕后,我们进入资源管理器选项卡,在index.html上点击右键,选择Open with Live Server菜单。

2.3 我们会发现Edge浏览器以独立运行得方式打开,同时浏览器得URL显示为127.0.0.0.1:5500/index.html  说明此时得网页已经通过Edge默认得http协议进行加载

2.4 接下来我们单击button,我们发现style.css文件得内容已经可以动态得读取和加载,并且显示到网页上。

  1. 编写Live Server 得调试配置文件。

3.1 Live Server不但可以单文件调试,同样可以作为vscode系统调试功能。我们进入资源管理器选项卡,打开launch.json文件。并修改三处"url":所在行为如下内容。

"url": "http://127.0.0.1:5500/index.html",

3.2 修改完毕后,进入运行和调试选项卡,选择Headless方式进行调试,我们发现嵌入式的Edge浏览器中的URL变为http://127.0.0.1:5500/index.html。接下来我们单击页面中的button,发现动态加载功能已经生效。

6.  Live Server的注意事项

在上一个小节中我们我们学习了Live Server的基本用法,本小节中,我们继续介绍Live Server的其他功能和注意事项。

  1. Live Server的服务开关。

1.1 在Live Server插件安装成功后,我们观察右下角的状态条。可以看到 Port:5500,此位置为Live Server 的状态显示区,此信息表示Live Server服务器已经启动,同时运行在5500端口。

1.2 接下来我们点击此区域,会发现状态条变为Go Live,此状态表示Live Server处于关闭状态。

 

1.3 这时我们启动Headless模式调试,会发现由于服务关闭,网页无法显示。如果在实际开发中遇到此情况,需要单击Go Live状态显示区启动Live Server。

  1. Live Server的动态加载功能。

2.1 我们在Headless调试模式下,修改index.html文件中的Hello World字段为Hello World 003并按下Ctrl + S快捷键保存。我们发现网页已经自动更新。

2.2 为了了解自动更新功能的实现原理,我们在Edge DevTools页面中选择元素选项卡。我们发下相比较index.html文件。加载到页面的元素中的<body>元素的最后多了如下内容。

2.3 我们点击其中的<script>元素,发现Live Server自动添加了若干JavaScript脚本。通过这些脚本。当vscode中的文件被修改后,会自动更新到edge浏览器中。

  1. Live Server调试Html的注意事项。

3.1 在上一段中我们了解到Live Server会在<body>元素的最后加入JavaScript。接下来我们尝试在<body>元素的后面加入JavaScript,我们插入如下代码。按下Ctrl + S快捷键保存。

<script type="text/javascript">
    console.log("after body");
</script>

3.2 观察Edge DevTools页面的元素选项卡。会发现LiveServer注入的JavaScript脚本在"atfer body"之前。

3.3 我们再尝试在after body中加入断点,点击index.html文件的34行添加断点。并重新启动调试。观察断点的运行状态。发现断点停在35行,但是调试控制台中并没有输出"after  body",这是因为Live  Server注入的JaveScript改变了Edge中的网页和源代码的对应关系。导致断点位置错误。因此在使用Live  Server的情况下,要注意所有的JaveScript不要写在<body>元素的后面。

 

实验链接:https://developer.aliyun.com/adc/scenario/a4fc6e0c726741e7acb28f5bd3e641e4

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
23天前
|
前端开发 JavaScript API
(前端3D模型开发)网页三维CAD中加载和保存STEP模型
本文介绍了如何使用`mxcad3d`库在网页上实现STEP格式三维模型的导入与导出。首先,通过官方教程搭建基本项目环境,了解核心对象如MxCAD3DObject、Mx3dDbDocument等的使用方法。接着,编写了加载和保存STEP模型的具体代码,包括HTML界面设计和TypeScript逻辑实现。最后,通过运行项目验证功能,展示了从模型加载到保存的全过程。此外,`mxcad3d`还支持多种其他格式的三维模型文件操作。
|
2月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
|
11天前
|
开发框架 前端开发 JavaScript
uniapp开发鸿蒙,是前端新出路吗?
相信不少前端从业者一听uniapp支持开发鸿蒙Next后非常振奋。猫林老师作为7年前端er也是非常激动,第一时间体验了下。在这里也给大家分享一下我的看法
55 17
|
4天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
|
16天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
52 3
|
14天前
|
前端开发 搜索推荐 安全
陪玩系统架构设计陪玩系统前后端开发,陪玩前端设计是如何让人眼前一亮的?
陪玩系统的架构设计、前后端开发及前端设计是构建吸引用户、功能完善的平台关键。架构需考虑用户需求、技术选型、安全性等,确保稳定性和扩展性。前端可选用React、Vue或Uniapp,后端用Spring Boot或Django,数据库结合MySQL和MongoDB。功能涵盖用户管理、陪玩者管理、订单处理、智能匹配与通讯。安全性方面采用SSL加密和定期漏洞扫描。前端设计注重美观、易用及个性化推荐,提升用户体验和平台粘性。
44 0
|
2月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
57 8
|
2月前
|
开发工具 C++ git
利用VS Code提升开发效率的五大插件推荐
本文推荐了五款能显著提升开发效率的VS Code插件:ESLint用于代码质量和风格检查;Prettier自动格式化代码;GitLens增强Git功能;Live Server提供前端实时预览;Docker支持容器管理。
|
2月前
|
前端开发 JavaScript 安全
揭秘!前端大牛们如何高效解决跨域问题,提升开发效率!
【10月更文挑战第30天】在Web开发中,跨域问题是一大挑战。本文介绍前端大牛们常用的跨域解决方案,包括JSONP、CORS、postMessage和Nginx/Node.js代理,对比它们的优缺点,帮助初学者提升开发效率。
86 4
|
3月前
|
负载均衡 前端开发 JavaScript
前端研发链路之开发
本文首发于微信公众号“前端徐徐”,作者徐徐。文章介绍了前端研发链路中的开发部分,重点探讨了开发服务器(dev-server)、热更新(hot-reload)、数据模拟(mock)和代理(proxy)等关键技术,帮助开发者理解其基本原理和应用场景,提升开发效率和代码质量。
42 2
前端研发链路之开发