『亚马逊云科技产品测评』活动征文|开发一个手机官网

『亚马逊云科技产品测评』活动征文|开发一个手机官网

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

前言

近来我打算买一个手机,就去看一下现在市面上有什么新推出的手机。我先是到各大手机厂商官网上面,去浏览一下。逛着逛着,当我逛到oppo官网的时候,我发现它们的官网做的挺好看的。我就有了一个想法,我能不能把它们的官网给复现一下。
作为一名程序员,当然是可以的了。既然确定要把oppo的官网自己来实现一下,那就开始干活了。

前端项目开发

开发这个官网,我打算采用ssr(服务端渲染技术)来做。我平时主要是用vue来开发的,而对于vue,是有一款专门针对它的ssr框架nuxt。随着vue3推出,nuxt也进行了升级,推出了新的版本–nuxt3。这个手机官网项目,我就采用nuxt3来开发了。

创建项目

开始开发前,我们需要先创建项目。
我们进入到nuxt3的官网,然后点击文档页签,进入到文档页面。
然后点击左侧的快速开始
在这里插入图片描述
官方文档给出了提示,就告诉我们怎么创建项目了。
我们在cmd里运行命令

npx nuxi@latest init <project-name>

运行命令后,按照步骤提示,一步一步配置即可。
选择完之后,项目就开始创建,同时开始安装依赖。
安装的时候,由于需要安装项目依赖,所以需要等待一会。

项目开发

项目已经创建好,接下来,我们就可以开发前端项目了。

路由配置

nuxt的项目,配置路由,是在pages文件夹里,进行配置的。
我配置下面几个路由:

  • index
  • oneplus
  • intelligent
  • server
    主要配置了这几个路由
页面开发

页面开发,我主要开发了下面几个页面:

  • oppo专区
  • oneplus专区
  • 智能硬件
  • 服务
    在各自的页面,进行开发就好了。主要是一些html和css的知识。这些不算特别难,就不带大家一步一步去做了。
    最后,项目开发好了,我们就可以进行项目打包了。因为我们要先把项目打包,然后才可以到服务器进行部署。
    在cmd里运行命令
npm run build

项目就开始打包了,等待一会,项目打包完成。
注意:我项目里,配置的打包命令是npm run build。你项目的打包命令,可能不一定就是它。具体是什么,可以查看你项目里面的配置。

服务器部署

前端项目开发好之后,就可以进行服务器部署了。
要进行服务器部署,首先你得有服务器。随着云服务的推广和普及,现在,我们可以非常方便地就拥有一台云服务器了。
云服务器的厂商有很多,这里我选择了亚马逊云服务器。亚马逊云服务器是亚马逊公司推出的云服务器,大公司推出来的产品,我相信它。
好了,介绍这么多,我们开始到服务器里,部署项目吧。
登录亚马逊云服务器后,进入服务器控制台页面。我们在顶部搜索栏里,搜索EC2。
在这里插入图片描述
我们可以查看到搜索结果,点击EC2,进入EC2的控制台页面。
进入EC2控制台之后,我们点击启动实例按钮。
在这里插入图片描述
点击启动实例,进入到实例创建页面
在这里插入图片描述
这里,我给实例起了一个名字,叫做myserser。当然,你可以自己起一个别的名字。
下面的操作系统,我选择的是亚马逊的一个linux系统。
对,没错,服务器里我使用的是linux系统。如果你对linux系统不熟悉的话,也可以安装其它系统,比如windows系统。
关于安装其它系统,这里就不介绍了。
下面还有一些其它配置项
在这里插入图片描述
不过这些配置项,我们暂时使用不到,先保持默认即可。如果后面想要修改,还是可以修改的。
不过注意,有一个密钥对,是必须要配置的。一会实例创建好了,我们需要使用这个密钥对去登录的。
点击创建新密钥对按钮
在这里插入图片描述
这里我给密钥对命名为myserver,和我实例名字一样,方便记忆。
点击创建密钥对,密钥对就创建好了。
整个实例的配置项,都配置好了,我们点击右侧的启动实例按钮,就可以把实例启动了。
在这里插入图片描述
实例正在创建
在这里插入图片描述
我们等待一会。
在这里插入图片描述
实例启动成功了,我们就可以连接实例了,点击中间的连接到实例按钮。
在这里插入图片描述
我们选择第一种方式就好了,它是基于浏览器的网页形式,显示命令行窗口的。有了命令行窗口,我们就可以在里面输入命令行,执行命令了。
我们进入到命令行窗口了,和实例建立了连接
在这里插入图片描述
关于服务器的部署,nuxt框架已经内置好一个node服务。我们把这个服务启动,就可以把项目启动了。
要想使用node,当然得要先安装node。
我们输入以下命令,安装node

sudo yum install -y node

输入之后,等待一会,node就安装好了。
接着安装git

sudo yum install git -y

之所以安装git,是因为一会我们要从git仓库,把代码拉下来。
等待一会,git就安装好了。在云服务器,安装这些工具,还是挺快的。
从git仓库拉取代码

git clone https:xxxxx

把你的仓库代码拉下来之后,进入到你的项目里。
我们通过cd命令,进入你的项目文件夹

cd xxx-xx

后面是你的文件夹名称
进去之后,我们需要先安装依赖。这和我们在本地电脑操作是一样的,把项目从git仓库拉下来,安装依赖,才能把项目运行。
执行命令

npm install

等待一会,把项目里的依赖安装好。
接着,我们就可以启动项目了。
启动项目,我是使用pm2来启动的。pm2主要是用来做进程管理的,如果你想了解更多,可以到它官网查看一下。
我们先安装pm2,这里使用npm来安装

npm i -g pm2

在这里插入图片描述

全局安装pm2,等待一会,pm2就安装好了。
然后用pm2来启动项目,在控制台里,输入下面命令

pm2 start npm -- preview

执行命令
在这里插入图片描述
启动之后,我们可以看到下面提示项目启动了。这是pm2的启动进程列表,告诉我们pm2里有哪些进程正在运行。
项目启动了,这时候还不能访问我们的网站,因为服务器对应的端口还没有开放。
我们回到实例的控制台页面
在这里插入图片描述
到实例的安全里面,配置对应的规则。
在这里插入图片描述
我们点击它,进入安全组配置页面

在这里插入图片描述

我们点击编辑入站规则,在里面添加一个8001端口。在我的项目了,我配置的端口是8001。可能你的项目里,不一定是使用这个端口,而是配置了其它的端口。在你部署的时候需要注意一下。
添加好之后,在实例控制台页面
在这里插入图片描述
实例已经添加了8001端口了,这样,我们就能访问网站了。
在浏览器里,输入我们的公网ip+端口,打开网站
在这里插入图片描述

在浏览器里,我们就可以看到我们开发的官网了。
我们到oppo的官网,查看一下它们的页面效果。
在这里插入图片描述
把我制作的官网和oppo的官网对比一下,发现它们还是很像的,是不是。

完结

到这里,基于ssr技术使用nuxt3制作一个手机官网,已经介绍完成了。
看完本篇文章,如果你感兴趣的话,也想使用nuxt3制作一个官网网站的话。你可以参考下本篇文章,自己尝试搭建一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/153675.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文了解:离散型制造业轻量化MES解决方案

离散型制造业的特点 离散型生产行业主要是通过对原材料物理形状的改变、组装&#xff0c;成为产品&#xff0c;使其增值。典型的离散型行业包括&#xff1a;机械、电子、航空、汽车等行业。这些企业既有按订单生产&#xff08;MTO&#xff09;&#xff0c;也有按照库存生产&am…

数字化转型背景下,企业如何做好知识管理?

在当今数字化转型的时代&#xff0c;企业面临着日益复杂和快速变化的商业环境。知识管理成为了企业成功的关键之一。有效地管理和利用知识资源可以提升企业的创新能力、决策质量和竞争力。以下我列了一些关键的点&#xff0c;讲讲在数字化转型背景下&#xff0c;企业如何可以做…

Mocha

Mocha介绍 介绍 Cypress 底层依赖于很多优秀的开源测试框架&#xff0c;其中就有 MochaMocha 是一个适用于 Node.js 和浏览器的测试框架&#xff0c;它使得异步测试变得简单 JS 语言带来的问题 JS 是单线程异步执行的&#xff0c;这使得测试变得复杂&#xff0c;因为无法像…

软件测试/测试开发/人工智能丨​Python运算符解析,小白也能轻松get

什么是运算符 运算符是用于进行各种运算操作的符号或关键词。 在数学和计算机编程中&#xff0c;运算符被用来表示不同的运算操作&#xff0c;例如加法、减法、乘法、除法等。 比如: 4 5&#xff0c;其中&#xff0c;4和5为操作数&#xff0c;为运算符。a 10&#xff0c;…

录屏软件自动开启录视频,是如何实现的?

工作要留痕&#xff0c;作为职场人的一项必备技能&#xff0c;因此许多人在做一些重要操作的时候&#xff0c;就会提前开启录屏软件&#xff0c;把操作的每一个步骤进行录制&#xff0c;以避免在出现问题的时候进行检查。当每天都需要在固定的时间点重复某项工作的时候&#xf…

2311rust,到35版本更新

1.32.0 rustup self update rustup update stablerustup更新自己. dbg宏 打印调试,你需要: let x 5; println!("{:?}", x); //甚至可能是 println!("{:#?}", x);在Rust1.32.0中,为此添加了个新的dbg!宏: fn main() {let x 5;dbg!(x); }如果运行此…

openGauss学习笔记-126 openGauss 数据库管理-设置账本数据库-归档账本数据库

文章目录 openGauss学习笔记-126 openGauss 数据库管理-设置账本数据库-归档账本数据库126.1 前提条件126.2 背景信息126.3 操作步骤 openGauss学习笔记-126 openGauss 数据库管理-设置账本数据库-归档账本数据库 126.1 前提条件 系统中需要有审计管理员或者具有审计管理员权…

数据中心走向绿色低碳,液冷存储舍我其谁

引言&#xff1a;没有最冷&#xff0c;只有更冷&#xff0c;绿色低碳早已成为行业关键词。 【全球存储观察 &#xff5c; 科技热点关注】 每一次存储行业的创新&#xff0c;其根源离不开行业端的用户需求驱动。 近些年从数据中心建设的整体发展情况来看&#xff0c;从风冷到…

【算法问题】错排问题

目录 1.概述2.代码实现2.1.获取错排情况总数2.2.获取每种错排情况 3.应用 1.概述 &#xff08;1&#xff09;n 个有序的元素有 n! 个不同的排列&#xff0c;如果一个排列使得所有的元素不在原来的位置上&#xff0c;则称这个排列为错排&#xff08;也称重排&#xff09;。例如…

Linux驱动开发 问题随笔

1、内核空间与用户空间数据交换方式 分两种情况&#xff1a; 1> 需要交换的数据量较大时&#xff1b; 2> 需要交换的数据量较小时&#xff1b; 第一种情况使用以下的函数&#xff1a; unsigned long copy_to_user(void __user* to, const void* from, unsigned long n)…

提升 Python 执行速度:Codon、C/C++、Rust、Numba(JIT)、Taichi、Nuitka、MatxScript

几种流行的 Python 性能加速方案对比&#xff1a;https://zhuanlan.zhihu.com/p/604519817 对于一般通用场景用户&#xff0c;对性能没有那么强烈的诉求&#xff0c;紧跟官方步伐&#xff0c;升级到最新版本的 Python 既可&#xff0c;或者使用 PyPy。Numba、Codon、Taichi 等这…

【蓝桥杯选拔赛真题23】C++计算24 第十二届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

C/C++计算24 第十二届蓝桥杯青少年创意编程大赛C++选拔赛真题 一、题目要求 1、编程实现 “计算 24”是一个流传已久的数字游戏,小蓝最近对此痴迷不已 游戏规则是:从 1~10 之间的自然数任意拿出 4 个数(4 个数各不相同,顺序随机),进行加、减、乘三种运算(使用某种运算…

汇编-MOVSXD64位带符号扩展传送

允许源操作数为32位的寄存器或内存操作数 ExitProcess PROTO .code main PROCmov ebx, 0FFFFFFFFh movsxd rax, ebx ;RAX FFFFFFFFFFFFFFFFhmov ebx, 01FFFFFFFh movsxd rdx, ebx ;RDX 000000001FFFFFFFhmov ecx,0 ;结束程序call ExitProcess main ENDP E…

Spring学习之注解@Autowired、@Qualifier、@Resource

Spring学习之注解Autowired、Qualifier、Resource 在Spring框架中&#xff0c;注解&#xff08;Annotation&#xff09;是一种用于依赖注入&#xff08;DI&#xff09;的机制。 Autowired: Autowired 是Spring提供的注解&#xff0c;用于自动注入依赖。当Spring创建一个bean时…

【前端知识】Node——文件流的读写操作

四种基本流类型: 1.Writable: 可以向其写入数据的流 2.Readable: 可以从中读取数据的流 3.Duplex&#xff1a;同时为Readable 和 Writable 4.Transform: Duplex可以在写入和读取数据时修改或转换数据的流 一、Readable const fs require(fs);// 创建文件的Readable const rea…

ADB安装及使用介绍

一、ADB简介 1、什么是adb ADB 全称为 Android Debug Bridge&#xff0c;起到调试桥的作用&#xff0c;是一个客户端-服务器端程序。其中客户端是用来操作的电脑&#xff0c;服务端是 Android 设备。 ADB 也是 Android SDK 中的一个工具&#xff0c;可以直接操作管理 Android …

CRM系统的客户细分有什么作用?

我们常常说&#xff0c;企业想要开展有针对性的营销活动&#xff0c;就需要进行客户细分。通过特定条件&#xff0c;将客户分为几类&#xff0c;从而对不同类型的客户提供不同的产品和服务。下面我们就针对这里来详细说说&#xff0c;CRM中客户细分是什么&#xff1f;如何细分客…

微信小程序如何使用scss,less

搜到很多都是先VSCode安装好…插件…。这都是很久之前的方法了&#xff0c;所以想写这篇文章 一、修改project.config.json配置文件 "setting": {"useCompilerPlugins": ["sass"]},二、然后就可以删除 .wxss 文件了&#xff0c;就用 .scss 文件…