前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【玩转腾讯云】Next如何部署到云开发静态网站托管?

【玩转腾讯云】Next如何部署到云开发静态网站托管?

原创
作者头像
XaDon
修改2020-04-13 10:17:11
4.8K0
修改2020-04-13 10:17:11
举报
文章被收录于专栏:Xudon的云开发吖

我们知道部署web应用程序的最佳方式是作为静态HTML应用程序,因为他对搜索引擎很友好,速度快等等,这对我们写个人博客这样的小型网站无异于非常nice。如果你的应用可以作为静态HTML,那么可以试试Next.js

它可以把一个应用程序作为静态页面导出,那么导出的静态页面怎么部署到静态托管呢?我们以云开发静态托管服务为例。

什么是云开发?

可以理解为它为我们提前做好了很多的事(例如负载均衡,冷备热备,网络安全等等),使我们只需关注业务逻辑即可。就像包饺子一样,提前有人给你准备好饺子馅和发好的面,我们只需要包饺子就可以了。详细了解可以到云开发查看

首先我们需要准备的环境以及工具如下:

必要环境:

node.js 开通云环境

开发工具:

create-next-app @cloudbase/cli

下面我们来详细操作~

首先我们进行安装create-next-app

代码语言:txt
复制
`npm i create-next-app`

以及云开发工具@cloudbase/cli

代码语言:txt
复制
`npm i @cloudbase/cli`

npm命令是在安装node.js时自动安装

构建Next项目
  1. 利用脚手架创建一个项目 npx create-next-app 项目名称 此处项目名称为你的项目根目录名称
  2. 创建完成后我们进入到项目中 cd 项目名称
  3. 我们需要在跟目录中新建一个next.config.js文件
代码语言:txt
复制
module.exports = {
    exportTrailingSlash: true,
    exportPathMap: function () {
         return {
            '/': {page: '/'}
         };
     },
};

如果你希望生成的静态文件不只包含首页和404页面(Next自动生成),那么可以在next.config.js中加入'/about': {page: '/about/about'},并在pages下新建一个about文件夹并创建about.js文件写入,如果只是测试生成首页和404就够了,那么直接跳到第4步即可

代码语言:txt
复制
const about = () => (
  <div>about</div>
)
export default about

附上next.config.js添加后的完整代码:

代码语言:txt
复制
module.exports = {
     exportTrailingSlash: true,
     exportPathMap: function () {
        return { 
            '/': {page: '/'},
            '/about': {page: '/about/about'}
        };
     },
};
  1. 在package中加入一个script命令 "export": "next export"
  2. 我们运行下列代码来生成静态文件
代码语言:txt
复制
    npm run build
    npm run export

我们发现根目录中生成了一个out文件夹,该文件夹下的所有文件就是我们生成的静态文件,所以接下来要做的事就是开通云环境并将其部署到静态网站托管。

image.png
image.png
开通云环境
  1. 我们打开云开发并创建一个新的环境
image.png
image.png
  1. 这里要注意选择是按量计费的模式(只有按量计费才能开通静态网站托管)。
image.png
image.png
  1. 创建成功后会自动对环境进行初始化(此过程大概2~3分钟)。
image.png
image.png
  1. 初始化成功后我们进到对应的环境中找到静态网站托管并开始使用
image.png
image.png

等待静态网站服务初始化后就可以使用啦~

部署上传
  1. 首先在项目根目录下执行云开发登录命令 tcb login
image.png
image.png
  1. 在弹出的页面进行授权操作
image.png
image.png
  1. 进行上传操作,这里我们希望out文件夹下所有的文件一并上传,所以,我们执行命令 tcb hosting:deploy ./out -e 你的云开发环境ID
    image.png
    image.png

云环境ID可在环境ID下查看

image.png
image.png
  1. 上传完成后我们在静态网站托管中可以看到我们out目录下的所有文件
image.png
image.png
  1. 云开发默认提供了一个与环境对应的默认域名,可以通过这个默认域名进行访问。
image.png
image.png
image.png
image.png
总结

我们总结一下步骤,大体上只有三步

  1. 创建Next项目并生成静态文件
  2. 开通云环境与静态网站托管服务
  3. 使用云开发工具cloudbase/cli命令进行部署上传

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构建Next项目
  • 开通云环境
  • 部署上传
  • 总结
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档