菜鸟科技网

小程序如何添加网站?

使用“网页容器”(Web-view 组件) - 最简单、最通用

这是最直接、最简单的方法,尤其适合内容型网站,微信小程序提供了一个内置组件 web-view,它可以在小程序内嵌一个网页浏览器,直接加载指定的网页地址。

小程序如何添加网站?-图1
(图片来源网络,侵删)

适用场景

  • 公司官网、博客、新闻资讯等展示型网站。
  • 希望快速将现有网站“移植”到小程序,且不需要和小程序原生功能深度交互。
  • 网站是动态的,且后端无法轻易改造为小程序 API。

操作步骤

  1. 登录微信公众平台:用小程序管理员的账号登录 微信公众平台

  2. 进入开发设置:在左侧菜单栏找到「开发」->「开发设置」。

  3. 配置业务域名:在「业务域名」配置中,添加您要嵌入的网站的域名,您的网站是 https://www.yourwebsite.com,就添加这个。注意:域名必须支持 HTTPS,并且需要先在微信公众平台进行验证。

  4. 在小程序代码中使用 web-view: 在小程序的 .wxml 文件中,直接使用 <web-view> 组件,并给它一个 src 属性,值为您的网址。

    小程序如何添加网站?-图2
    (图片来源网络,侵删)

    示例代码 (index.wxml):

    <view class="container">
      <web-view src="https://www.yourwebsite.com"></web-view>
    </view>

    示例代码 (index.js):

    Page({
      data: {
        webviewUrl: 'https://www.yourwebsite.com' // 也可以将URL放在js中
      },
      onLoad: function (options) {
        // 可以通过 options 接收从其他页面传过来的参数
        // webviewUrl = decodeURIComponent(options.url)
      }
    })

优缺点分析

  • 优点
    • 开发成本低:几乎不需要额外的开发工作,只需配置域名即可。
    • 速度快:可以立即上线,无需等待后端接口开发。
    • 维护简单:网站的更新和修改直接在原服务器上进行,小程序端无需改动。
  • 缺点
    • 体验不一致:网页的加载速度、交互方式(如返回按钮)和原生小程序有差异,体验可能不够流畅。
    • 功能受限:无法直接调用微信的原生能力,如微信支付、获取用户信息、使用微信登录等。
    • 性能问题:对于复杂的交互式网站,在 web-view 中可能会出现卡顿。
    • 导航混乱:用户在 web-view 内点击返回,可能只会返回到小程序的上一页,而不是网页的上一页。

小程序原生开发 + API 接口 - 性能最好、体验最佳

这是最“正统”的开发方式,完全遵循微信小程序的开发规范,后端提供 API 接口,前端(小程序)通过调用这些接口来获取数据并渲染页面。

适用场景

  • 对用户体验、性能有高要求的电商、社交、工具类小程序。
  • 网站本身就是基于前后端分离架构(如 React/Vue 前端 + Node.js/Java/Python 后端)。
  • 希望深度集成微信生态功能(如支付、分享、登录)。

操作步骤

  1. 后端改造

    小程序如何添加网站?-图3
    (图片来源网络,侵删)
    • 确保你的网站后端能够提供独立的 API 接口(RESTful API)。
    • 这些接口需要返回小程序前端能够直接使用的数据格式(通常是 JSON)。
    • 例如:网站有个商品列表页,你需要创建一个 API 接口,如 https://api.yourwebsite.com/v1/products,它返回一个 JSON 数组,包含商品的各种信息。
  2. 小程序前端开发

    • 使用小程序原生框架(WXML, WXSS, JavaScript)来构建页面。
    • 在页面的 .js 文件中,使用 wx.request 方法来调用后端 API,获取数据。
    • 将获取到的数据存储在 Pagedata 对象中。
    • .wxml 文件中,使用 wx:for 等语法将数据渲染到页面上。

    示例代码 (index.js):

    Page({
      data: {
        products: [] // 用于存放从API获取的商品列表
      },
      onLoad: function () {
        this.fetchProducts();
      },
      fetchProducts: function() {
        wx.request({
          url: 'https://api.yourwebsite.com/v1/products', // 你的API地址
          method: 'GET',
          success: (res) => {
            if (res.statusCode === 200) {
              this.setData({
                products: res.data
              });
            }
          },
          fail: (err) => {
            console.error('请求失败', err);
          }
        });
      }
    })

    示例代码 (index.wxml):

    <view class="container">
      <view class="product-list">
        <view class="product-item" wx:for="{{products}}" wx:key="id">
          <image src="{{item.imageUrl}}" mode="aspectFill"></image>
          <text class="product-name">{{item.name}}</text>
          <text class="product-price">¥ {{item.price}}</text>
        </view>
      </view>
    </view>

优缺点分析

  • 优点
    • 体验最佳:完全原生,加载速度快,交互流畅,符合小程序设计规范。
    • 功能强大:可以无缝调用所有微信 API,实现支付、登录、分享等高级功能。
    • 性能好:针对移动端和微信环境做了优化。
  • 缺点
    • 开发成本高:需要从小程序零开始进行开发,工作量大。
    • 前后端分离要求高:需要后端提供稳定的 API 接口。
    • 维护两套代码:如果网站和小程序功能同步,需要维护两套前端代码(网站和小程序)。

使用跨端框架 - 兼顾效率与体验

这是一种折中的方案,使用一套代码库,同时编译生成小程序和 Web(H5)应用,主流框架有 Tarouni-app

适用场景

  • 希望一套代码在多个平台(微信小程序、支付宝小程序、H5、App)运行。
  • 团队熟悉 React 或 Vue 等前端框架,不希望学习小程序原生语法。
  • 项目功能复杂,需要快速迭代。

操作步骤(以 Taro 为例)

  1. 安装 Taro CLInpm install -g @tarojs/cli
  2. 创建项目taro init myApp
  3. 选择模板:选择一个基于 React 或 Vue 的模板。
  4. 编写代码:使用 React/Vue 的语法和组件库(如 Taro UI)进行开发,代码结构看起来就像一个标准的 Web 项目。
  5. 配置:在 config/index.js 中配置小程序的 AppID。
  6. 编译:运行 npm run build:weapp 命令,Taro 会将你的代码编译成微信小程序可以识别的 WXML, WXSS, JS 文件。
  7. 导入微信开发者工具:在微信开发者工具中导入编译后的 dist 目录。

优缺点分析

  • 优点
    • 代码复用率高:一套代码,多端运行,大大降低了开发和维护成本。
    • 开发效率高:使用熟悉的前端框架和生态,上手快。
    • 生态丰富:可以享受 npm 上的海量第三方库。
  • 缺点
    • 性能损耗:相比原生小程序,多了一层编译和框架转换,可能会有轻微的性能损耗。
    • 学习成本:需要学习特定框架(Taro/uni-app)的 API 和规范。
    • 平台限制:某些小程序独有的高级功能可能需要特殊处理或无法使用。

总结与选择建议

方法 核心原理 优点 缺点 推荐场景
网页容器 内嵌浏览器 开发快、成本低、维护简单 体验差、功能受限、性能一般 官网、博客、资讯类等展示型网站,快速上线。
原生开发 小程序原生API 体验最佳、性能最好、功能强大 开发成本高、需维护两套代码 电商、社交、工具类等对体验和功能要求高的复杂应用。
跨端框架 一套代码多端编译 代码复用、开发效率高、生态丰富 有性能损耗、学习新框架 多端同步项目,或团队希望用React/Vue开发小程序。

给您的建议:

  • 如果您只是想简单地把公司官网搬到小程序里,追求快速上线,方法一(网页容器) 是您的最佳选择。
  • 如果您正在开发一个功能强大的商业小程序,并且不差钱、不差时间,希望给用户提供最顶级的体验,方法二(原生开发) 是不二之选。
  • 如果您希望同时做小程序和H5,或者团队更擅长Vue/React,希望用一套代码搞定多个平台,方法三(跨端框架) 会非常合适。
分享:
扫描分享到社交APP
上一篇
下一篇