<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>小程序归档 - 帝讯博客</title>
	<atom:link href="https://www.dixunblog.cn/tag/%E5%B0%8F%E7%A8%8B%E5%BA%8F/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dixunblog.cn/tag/小程序</link>
	<description>致力于打造专业的互联网资讯平台</description>
	<lastBuildDate>Mon, 29 Dec 2025 08:55:33 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://cdn.hyclive.cn/dixunblog/2025/12/cropped-ico-32x32.png</url>
	<title>小程序归档 - 帝讯博客</title>
	<link>https://www.dixunblog.cn/tag/小程序</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>小程序的组成结构</title>
		<link>https://www.dixunblog.cn/1023.html</link>
					<comments>https://www.dixunblog.cn/1023.html#respond</comments>
		
		<dc:creator><![CDATA[老大]]></dc:creator>
		<pubDate>Mon, 29 Dec 2025 08:55:33 +0000</pubDate>
				<category><![CDATA[编程代码]]></category>
		<category><![CDATA[小程序]]></category>
		<guid isPermaLink="false">https://www.dixunblog.cn/?p=1023</guid>

					<description><![CDATA[<p>基本组成结构 （1）pages（目录）：用来存放所有小程序的页面。 （2）utils（目录）：用来存放工具性质的模板 （3）app.js:小程序项目的入口文件 （4）app.json:小程序项目的全局配置文件。 （5）app.wxss:小程序项目的全局样式文件 （6） project.config.json项目的配置文件 这是一个练习项目宿舍管理小程序，我们可以清晰地看到在文件夹miniprogram下存在的几个文件夹。 第一个文件夹images主要是存放一些小程序中所需的图片；</p>
<p><a href="https://www.dixunblog.cn/1023.html">小程序的组成结构</a>最先出现在<a href="https://www.dixunblog.cn">帝讯博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[<h2 id="h8vf">基本组成结构</h2>
<p>（1）<code>pages</code>（目录）：用来存放所有小程序的页面。</p>
<p>（2）<code>utils</code>（目录）：用来存放工具性质的模板</p>
<p>（3）<code>app.js</code>:小程序项目的入口文件</p>
<p>（4）<code>app.json</code>:小程序项目的全局配置文件。</p>
<p>（5）<code>app.wxss</code>:小程序项目的全局样式文件</p>
<p>（6）<code> project.config.json</code>项目的配置文件</p>
<figure class="">
<div class="rno-markdown-img-url">
<div class="rno-markdown-img-url-inner">
<div><img fetchpriority="high" decoding="async" class="size-full wp-image-1024 aligncenter" title="dd379a58ab27b7ee467418623ca7a674" src="http://cdn.hyclive.cn/dixunblog/2025/12/dd379a58ab27b7ee467418623ca7a674.png" alt="dd379a58ab27b7ee467418623ca7a674" width="570" height="296" /></div>
</div>
</div>
</figure>
<p>这是一个练习项目宿舍管理小程序，我们可以清晰地看到在文件夹miniprogram下存在的几个文件夹。 第一个文件夹images主要是存放一些小程序中所需的图片；</p>
<p>[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YqBTqrBc-1664789463320)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7b41ad29e527442586288e704e3f7bba~tplv-k3u1fbpfcp-watermark.image?)]</p>
<p>pages就是存放小程序的每个页面，因为每个小程序肯定不会只有一个页面，所以pages下也存在多个页面。例如home是主页面，night是学生晚归管理界面等等。</p>
<p>[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ilBVlWH2-1664789463321)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b486a9199dff409dba11ede7c65b5d6f~tplv-k3u1fbpfcp-watermark.image?)]</p>
<h3 id="cdhd4">JSON配置</h3>
<blockquote><p><span class="mod-overview__keyword">JSON</span>是一种数据格式，在实际开发工作中，JSON总是以配置文件的形式存在。在小程序中它也是以配置文件的形式存在，通过对不同的.json配置文件进行设置，可以对小程序进行不同级别的设置。</p></blockquote>
<p>(1)小程序配置app.json</p>
<p>app.json是当前小程序的全局配置，包括了小程序的所有页面路径，窗口外观，界面表现等等。 新建一个空白的小程序，app.json默认的配置代码：</p>
<div class="rno-markdown-code">
<div class="rno-markdown-code-toolbar">
<div class="rno-markdown-code-toolbar-info">
<div class="rno-markdown-code-toolbar-item"><span class="is-m-hidden">代码语言：</span>javascript</div>
</div>
<div class="rno-markdown-code-toolbar-opt">
<div class="rno-markdown-code-toolbar-opt-icon-btn is-ai-btn">
<div class="chat-ui-ai-logo css-2jdwfl"></div>
<p>AI代码解释</p></div>
</div>
</div>
<div class="developer-code-block">
<div class="rno-markdown-code-opt-float">
<div class="rno-markdown-code-icon-btn qa-r-editor-btn"></div>
</div>
<pre class="prism-token token line-numbers language-javascript" tabindex="0"><code class="language-javascript"><span class="token punctuation">{</span>
    <span class="token string-property property">"pages"</span><span class="token operator">:</span> <span class="token punctuation">[</span>
        <span class="token string">"pages/index/index"</span>
    <span class="token punctuation">]</span><span class="token punctuation">,</span>
    <span class="token string-property property">"window"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
        <span class="token string-property property">"backgroundTextStyle"</span><span class="token operator">:</span> <span class="token string">"light"</span><span class="token punctuation">,</span>
        <span class="token string-property property">"navigationBarBackgroundColor"</span><span class="token operator">:</span> <span class="token string">"#fff"</span><span class="token punctuation">,</span>
        <span class="token string-property property">"navigationBarTitleText"</span><span class="token operator">:</span> <span class="token string">"Weixin"</span><span class="token punctuation">,</span>
        <span class="token string-property property">"navigationBarTextStyle"</span><span class="token operator">:</span> <span class="token string">"black"</span>
    <span class="token punctuation">}</span><span class="token punctuation">,</span>
    <span class="token string-property property">"style"</span><span class="token operator">:</span> <span class="token string">"v2"</span><span class="token punctuation">,</span>
    <span class="token string-property property">"sitemapLocation"</span><span class="token operator">:</span> <span class="token string">"sitemap.json"</span>
<span class="token punctuation">}</span></code></pre>
</div>
</div>
<p>其中pages是用来记录所有页面的路径，window记录全局页面的背景和文字颜色；style定义了组件的样式版本；sitemapLocation用来指明sitemap.json的位置</p>
<p>（2） 工具配置project.config.json</p>
<p>小程序的每个项目根目录下都会生成一个工具配置文件，主要目的就是方便开发者根据自己的兴趣爱好进行一些个性化配置，比如界面颜色、编译配置等方面。你在开发者工具中进行的任何配置都是会写入到这个文件的。</p>
<p>（3）页面配置page.json</p>
<p>小程序中的每一个页面，可以使用.json文件来对本页面的窗口外观进行配置，页面中的配置项会覆盖app.json的window中相同的配置项。</p>
<h3 id="688go">WXML 模板</h3>
<p>其实小程序的开发和网页开发很类似，学过前端的小伙伴都知道网页是通过html+<span class="mod-overview__keyword">css</span>+js进行开发的。而在小程序中wxml充当的就是网页中html的角色。</p>
<div class="rno-markdown-code">
<div class="rno-markdown-code-toolbar">
<div class="rno-markdown-code-toolbar-info">
<div class="rno-markdown-code-toolbar-item"><span class="is-m-hidden">代码语言：</span>javascript</div>
</div>
<div class="rno-markdown-code-toolbar-opt">
<div class="rno-markdown-code-toolbar-opt-icon-btn is-ai-btn">
<div class="chat-ui-ai-logo css-2jdwfl"></div>
<p>AI代码解释</p></div>
</div>
</div>
<div class="developer-code-block">
<div class="rno-markdown-code-opt-float">
<div class="rno-markdown-code-icon-btn qa-r-editor-btn"></div>
</div>
<pre class="prism-token token line-numbers language-javascript" tabindex="0"><code class="language-javascript"><span class="token operator">&lt;</span>view <span class="token keyword">class</span><span class="token operator">=</span><span class="token string">"container"</span><span class="token operator">&gt;</span>
  <span class="token operator">&lt;</span>view <span class="token keyword">class</span><span class="token operator">=</span><span class="token string">"userinfo"</span><span class="token operator">&gt;</span>
    <span class="token operator">&lt;</span>button wx<span class="token operator">:</span><span class="token keyword">if</span><span class="token operator">=</span><span class="token string">"{{!hasUserInfo &amp;&amp; canIUse}}"</span><span class="token operator">&gt;</span> 获取头像昵称 <span class="token operator">&lt;</span><span class="token operator">/</span>button<span class="token operator">&gt;</span>
    <span class="token operator">&lt;</span>block wx<span class="token operator">:</span><span class="token keyword">else</span><span class="token operator">&gt;</span>
      <span class="token operator">&lt;</span>image src<span class="token operator">=</span><span class="token string">"{{userInfo.avatarUrl}}"</span> background<span class="token operator">-</span>size<span class="token operator">=</span><span class="token string">"cover"</span><span class="token operator">&gt;</span><span class="token operator">&lt;</span><span class="token operator">/</span>image<span class="token operator">&gt;</span>
      <span class="token operator">&lt;</span>text <span class="token keyword">class</span><span class="token operator">=</span><span class="token string">"userinfo-nickname"</span><span class="token operator">&gt;</span><span class="token punctuation">{</span><span class="token punctuation">{</span>userInfo<span class="token punctuation">.</span>nickName<span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token operator">&lt;</span><span class="token operator">/</span>text<span class="token operator">&gt;</span>
    <span class="token operator">&lt;</span><span class="token operator">/</span>block<span class="token operator">&gt;</span>
  <span class="token operator">&lt;</span><span class="token operator">/</span>view<span class="token operator">&gt;</span>
  <span class="token operator">&lt;</span>view <span class="token keyword">class</span><span class="token operator">=</span><span class="token string">"usermotto"</span><span class="token operator">&gt;</span>
    <span class="token operator">&lt;</span>text <span class="token keyword">class</span><span class="token operator">=</span><span class="token string">"user-motto"</span><span class="token operator">&gt;</span><span class="token punctuation">{</span><span class="token punctuation">{</span>motto<span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token operator">&lt;</span><span class="token operator">/</span>text<span class="token operator">&gt;</span>
  <span class="token operator">&lt;</span><span class="token operator">/</span>view<span class="token operator">&gt;</span>
<span class="token operator">&lt;</span><span class="token operator">/</span>view<span class="token operator">&gt;</span></code></pre>
</div>
</div>
<p>和html非常相似但也存在很多不一样的地方，</p>
<ul class="ul-level-0">
<li>标签名字不一样，小程序的标签是<code>view</code>、<code>button</code>、<code>text</code></li>
<li>多了一些 <code>wx:if</code> 这样的属性以及 {{ }} 这样的表达式</li>
<li>提供了类似于vue中的模板语法</li>
</ul>
<h3 id="2itvs">WXSS样式</h3>
<p>WXSS是一套样式语言，用于描述WXML的组件样式，相当于网页开发中的css，WXSS具有CSS的大部分特性，但也做了一些扩充和修改。</p>
<ul class="ul-level-0">
<li>新增了尺寸单位</li>
<li>提供了全局的样式和局部样式。其中app.wxss就是进行全局的样式设置。而page.wxss是进行单个页面的样式设置。</li>
<li><code>WXSS</code> 仅支持部分 <code>CSS</code> 选择器</li>
</ul>
<h3 id="798tf">JS逻辑交互</h3>
<p>一个小程序或者是界面只有静态的样式完全是不能满足人们的需求的，必须有人机交互，这一功能就是通过JS来实现的。小程序的JS文件主要分为三类：app.js是整个小程序的入口；页面的.js文件，是单独页面的入口；普通的.js文件，就是普通的功能模块文件。例如：点击一个按钮的时候，希望界面上显示“Hello”</p>
<div class="rno-markdown-code">
<div class="rno-markdown-code-toolbar">
<div class="rno-markdown-code-toolbar-info">
<div class="rno-markdown-code-toolbar-item"><span class="is-m-hidden">代码语言：</span>javascript</div>
</div>
<div class="rno-markdown-code-toolbar-opt">
<div class="rno-markdown-code-toolbar-opt-icon-btn is-ai-btn">
<div class="chat-ui-ai-logo css-2jdwfl"></div>
<p>AI代码解释</p></div>
</div>
</div>
<div class="developer-code-block">
<div class="rno-markdown-code-opt-float">
<div class="rno-markdown-code-icon-btn qa-r-editor-btn"></div>
</div>
<pre class="prism-token token line-numbers language-javascript" tabindex="0"><code class="language-javascript"><span class="token function">Page</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
  <span class="token function-variable function">clickMe</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
    <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setData</span><span class="token punctuation">(</span><span class="token punctuation">{</span> <span class="token literal-property property">msg</span><span class="token operator">:</span> <span class="token string">"Hello"</span> <span class="token punctuation">}</span><span class="token punctuation">)</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span></code></pre>
</div>
</div>
<p>除此之外还可以通过JS调用小程序中的各种<span class="mod-overview__keyword">API</span>，利用这些API可以使用微信提供的丰富功能。比如：微信登录、获取用户信息、微信支付等等。</p>
<p><a href="https://www.dixunblog.cn/1023.html">小程序的组成结构</a>最先出现在<a href="https://www.dixunblog.cn">帝讯博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dixunblog.cn/1023.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
