【js】走近小程式

来源:https://www.cnblogs.com/yeujuan/archive/2019/04/23/10756606.html
-Advertisement-
Play Games

一、什麼是小程式? 基於微信的可以為用戶提供一些服務的web項目,利用微信提供的介面可以讓所有開發者使用到微信的原生能力,去完成一些之前做不到或者難以做到的事情。 二、小程式開發工具以及語言? 小程式需要用到微信提供的小程式開發工具,​小程式的主要開發語言是 JavaScript 。 三、小程式與普 ...


一、什麼是小程式?

      基於微信的可以為用戶提供一些服務的web項目,利用微信提供的介面可以讓所有開發者使用到微信的原生能力,去完成一些之前做不到或者難以做到的事情。

二、小程式開發工具以及語言?

     小程式需要用到微信提供的小程式開發工具,​小程式的主要開發語言是 JavaScript 。

三、小程式與普通網頁開發的區別?

    ​網頁開發渲染線程和腳本線程是互斥的,這也是為什麼長時間的腳本運行可能會導致頁面失去響應,而在小程式中,二者是分開的,分別運行在不同的線程中。網頁開發者可以使用到各種瀏覽器暴露出來的 DOM API,進行 DOM 選中和操作。而如上文所述,小程式的邏輯層和渲染層是分開的,邏輯層運行在 JSCore 中,並沒有一個完整瀏覽器對象,因而缺少相關的DOM API和BOM API。這一區別導致了前端開發非常熟悉的一些庫,例如 jQuery、 Zepto 等,在小程式中是無法運行的。同時 JSCore 的環境同 NodeJS 環境也是不盡相同,所以一些 NPM 的包在小程式中也是無法運行的。

四、小程式的代碼構成?

      (1)在我們新建的小程式項目裡面會有四種類型的文件。

  1. .json 尾碼的 JSON 配置文件  (靜態配置信息)      
  2. .wxml 尾碼的 WXML 模板文件(相當於原生html文件)
  3. .wxss 尾碼的 WXSS 樣式文件(相當於原生css文件)
  4. .js 尾碼的 JS 腳本邏輯文件

     (2) 代碼結構詳細說明。在新建的項目裡面我們可以看到如下圖所示目錄

       

           1.  project.config.json  工具配置

               內部含有多項內容的配置,概括是個性化配置、打包、調試、自定義預處理的一系列配置。詳細請參考   

    2.  app.json 全局配置

     app.json 是當前小程式的全局配置,包括了小程式的所有頁面路徑、界面表現、網路超時時間、底部 tab 等。

      pages欄位 —— 用於描述當前小程式所有頁面路徑,相當於路由配置的地址。(但是在pages配置一條路徑地址,則會在相應為文件夾建立相應的文件)

      window欄位 —— 定義小程式所有頁面的頂部背景顏色,文字顏色定義等。

      tabBar欄位   ——  如果小程式是一個多 tab 應用(客戶端視窗的底部或頂部有 tab 欄可以切換頁面),可以通過 tabBar 配置項指定 tab 欄的表現,以及 tab 切換時顯示的對應頁面。  詳細請參考

        3.  app.js   小程式的生命周期回調   詳情參考

    onLaunch(Object object) 小程式初始化完成時觸發,全局只觸發一次。

    globalData  全局數據,在每個頁面都可獲取到。   

       4. utils  封裝的公共方法

       5.  pages 裡面包含每個頁面  

           index.json 裡面包含了對頁面的一些設置,例如:導航欄顏色、視窗背景、禁止頁面右滑手勢返回等設置,詳細請參考

          .wxml    文件類似於html,描述頁面頁面的結構,小程式的 WXML 用的標簽是 viewbuttontext是已經包裝好的組件,多了一些 wx:if 這樣的屬性以及 {{ }} 這樣的表達式。詳細請參考 

          .wxss   WXSS 具有 CSS 大部分的特性,小程式在 WXSS 也做了一些擴充和修改。新增的尺寸單位 rpx ,用來適配不用的屏幕寬高問題,此外 WXSS 僅支持部分 CSS 選擇器。詳細請參考

          .js     整體有點vue的感覺,比較簡單好上手,涉及到詳細的介面調用,的一些語法糖。index.js 裡面的pages( {data:{}}) data 裡面存放頁面需要到的數據,其他可以設置一些事件。詳情請參考   wxml事件    

       針對小程式的練習項目地址: https://github.com/yuejuanmyword/myfirstWechat.git

       以上為本人原創,參考資料  https://developers.weixin.qq.com/miniprogram/introduction/index.html    

       如有不當,請留言指教。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 有些路由頁面需要用戶登陸之後才能訪問如(用戶中心),如果用戶沒有登陸就訪問這些頁面的話就應該轉換到登陸頁面,登陸成功之後在進入該頁面。 需要用到的知識點有:H5中的會話存儲(sessionStorage)、vue-router路由前置操作、路由元信息(meta). 路由配置 在路由頁面中添加auth ...
  • 利用 vue-cli 搭建的項目大都是單頁面應用項目,對於簡單的項目,單頁面就能滿足要求。但對於有多個子項目的應用,如果創建多個單頁面,顯示有點重覆,特別是 node_modules 會有多份相同的。如果全部放到單頁面項目下,又顯得有點亂,這時候通過改造 vue-cli 搭建的項目為多頁面,就是一個 ...
  • <!doctype html> <html> <head> <meta charset="urtf-8"> <title>通過js改變class名字改變樣式</title> <style> .tao { /*初始樣式*/ border-radius:35px; width:100px; height ...
  • 1.jQuery對象 jQuery包裝集對象 獲得mydiv的Jquery對象: var divJquery = $("#mydiv"); 2.基礎選擇器 1、ID選擇器格式:$("#id屬性值") 獲取指定id值的對象(只會獲取到第一個id的值)2、類選擇器格式:$(".class屬性值")獲取所 ...
  • 註: 依賴第三方插件 clipboard 一、安裝插件 二、全局註入(main.js) 三、使用 四、效果圖 ...
  • 最近公司有需求要做一些可視化的功能。之前一直都是用Echarts做的,但是Echarts現在滿足不了我們的需求,經過多方請教,查找發現只有D3可以滿足我們的需求,而且可以完美的適用到react框架中。第一次接觸到D3,發現這些圖標的可交互性非常豐富,而且動畫流暢簡潔。 所以,打算學習D3並且應用到項 ...
  • 今天練習一個小demo, 從本地讀取圖片, 然後實現類似淘寶放大鏡的效果, 再加兩個需求 1 .可以調節縮放比例,預設放大兩倍 2 . 圖片寬高自適應, 不固定寬高 話不多說先看效果: 原理:1, 右側放大區域的大小等於左側半透明滑塊大小乘以縮放倍數 2, 右側放大區域圖片的原始尺寸要和 左側圖片一 ...
  • <html><body> <h3>js控制文件上傳數量</h3> <form action="" enctype="multipart/form-data"> <input type="file" name="file" multiple="multiple" onchange="fileCount ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...