微信小程序使用export和import

微信小程序详细登录流程(图解+代码流程) 微信小程序的登录和web端的登录有一点是不同的,小程序需要和微信的服务通信验证。 阅读详情

小程序支持模块化开发,可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。引入模块通过require方式。

创建模块

function sayHello(name) {
  console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {
  console.log(`Goodbye ${name} !`)
}

module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye

引入模块

var common = require('common.js')
Page({
  helloMINA: function() {
    common.sayHello('MINA')
  },
  goodbyeMINA: function() {
    common.sayGoodbye('MINA')
  }
})

这是官方提供的方法,我个人还是比较喜欢使用export和import,使用起来比较顺手,可能是因为我一直用Vue开发的原因,下面拿一个实际例子,讲一讲export和import。

最近在开发的一个小程序项目,打算使用Promise对API这块做下封装,统一管理API请求。

新建request.js,提取公共请求路径

// 公共路径
const path = "http://172.16.50.83:82"

定义promise化接口

/**
 * promise化接口
 */
function wxRequest(url, method, params) {
  return new Promise((resolve, reject) => {
    wx.request({
      url: path + url,
      method: method,
      data: params,
      header: {
        'content-type': 'application/json'
      },
      success: res => resolve(res),
      fail: res => reject(res)
    })
  });
}

登录接口

function login(params = {}) {
  return wxRequest('/wechatuser', 'post', params);
}

导出

// 导出
module.exports = {
  login
}

上面这些代码都在一个文件中,完整代码就不展示了。

接下来就是导入新建接口文件,

import {login} from '../../api/request'

调用

login().then(res=>{
  console.log(res)
})

注意一点的是,在引入模块时,要使用相对路径,如果使用绝对路径,在编译后会导致文件找不到。

微信小程序开发系列-14模块的导入与导出 通过本文的学习,掌握了在微信小程序中模块的导入导出, 既可以使用ES modules标准,也可以使用CommonJS标准。 阅读详情

相关推荐

【嵌入式原理系列-第七篇】ld脚本实战:从零构建MCU内存布局

本文是一篇针对嵌入式开发者的实战指南,详细讲解了如何从零开始为MCU编写ld链接器脚本以构建自定义内存布局。文章以STM32F103C8T6为例,深入剖析了MEMORY和SECTIONS指令的用法,并提供了OTA分区、非易失数据存储等高级定制案例,帮助开发者解决实际工程中的Flash与RAM管理难题,实现对程序运行的深度掌控。

weixin_29271263的博客 248

小程序import及include引用的简单理解

【代码】小程序import及include引用的简单理解。

文龙刚的博客 2723

Plant Simulation新手入门:5步搞定生产线物流仿真(附模型库使用技巧)

本文为Plant Simulation新手提供了从零开始构建生产线物流仿真的五步入门指南。通过理念重塑、流程规划、对象连接、参数设置到数据分析的完整流程,帮助用户快速掌握这一强大仿真工具的核心逻辑。文章特别强调了模型库的高效使用技巧,助力工程师在虚拟环境中精准模拟和优化生产系统,提升规划效率。

efc123456的博客 333

微信小程序开发之——import、require和include

一 概述 require:js代码中引用其他js模块代码 include:wxml文件中引用template模板文件 import:既可以在js代码中导入模块代码,又可以在wxml或wxss文件中导入模块文件 二 import和require 2.1 说明 import和require:在js代码文件中导入逻辑代码模块 require 是 AMD规范引入方式 import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法 2.2 使用 import使用示例 import App f

我的博客 9088

3U 与 SV630A 伺服实现 CANLINK 通讯

SD410这组参数特别重要,这个32位特别重要,是防止数值乱码的关键。

weixin_42714122的博客 2694

ArcGIS 10.2.2自带Python 2.7.5环境配置全攻略:从pip安装到gdal、arcpy调用

本文详细指导如何在ArcGIS 10.2.2自带的Python 2.7.5环境中进行高效配置。核心内容包括安装pip包管理器、部署gdal等关键地理数据处理库,并确保arcpy模块的无缝调用。通过解决路径配置与PyCharm集成问题,帮助用户在此经典环境中构建稳定、兼容的地理信息自动化工作流,有效连接ArcGIS桌面功能与Python脚本编程。

moon9的博客 767

微信小程序module.exports与exports,export与export default,import 与require

文章目录关于变量的导出module.exports与exportsexport与export default变量的导入requireimport 声明:本文章所有代码及输出结果本人全部经过测试。 关于变量的导出 变量的导出涉及到四个关键字module.exports与exports,export与export default, 其中module.exports与exports是符合CommonJS模块规范的。 export与export default是es6用来导出模块的。 module.expo

weixin_51375107的博客 7117

软考软件评测师备考避坑指南:过来人告诉你这5个章节最容易丢分(附2024最新考纲解析)

本文为软考软件评测师考生提供备考避坑指南,深度解析5个高频失分章节,包括标准化与信息化基础、中间件技术、软件测试模型、白盒测试覆盖准则和性能测试指标。文章结合2024最新考纲,分享实战技巧和记忆口诀,帮助考生精准打击失分重灾区,提升备考效率。

weixin_29223603的博客 467

微信小程序之export和import

1.关于模块的暴露与引用,微信小程序的官方文档中:模块通过module.exports或exports暴露的接口,引入模块通过require方式 2.个人比较喜欢用export和import,使用起来感觉比较顺手,可能因为跟vue中的组件用起来比较相似 实际上,此方法最终在编译后都会被转换为官方文档中使用的方法,如下: 3.需要注意的是,引用模块时需要...

weixin_30786657的博客 1万+

树莓派4B安装 ubuntu20.04 & VNC远程桌面 & 安装ROS noetic

树莓派4B安装ubuntu20.04 & VNC远程桌面1、安装ubuntu方式1:下载Imager文件。方式2:下载镜像文件。2、查询树莓派 IP 地址3、使用ssh远程登录树莓派4、更新源地址5、更新6、安装桌面环境7、允许root登陆8、登陆远程桌面9、设置中文 1、安装ubuntu 方式1:下载Imager文件。...

weixin_44415639的博客 2万+

解决redhat8/centos8无法使用yum问题(报错:This system is not registered to Red Hat Subscription Management)

解决redhat无法使用yum问题、以及替换repo文件后仍无法使用yum的问题

qq_43569119的博客 4342

【微信小程序】引入模块(require、import)和返回模块(module.exports、export)

require、import与module.exports、export的使用方式

川川的博客 5884

【100%通过率】华为OD机试真题 Python 实现【字符串重新排列】【2022.11 Q4新题】

给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出: 1、单词内部调整:对每个单词字母重新按字典序排序 2、单词间顺序调整: 1)统计每个单词出现的次数,并按次数降序排列 2)次数相同,按单词长度升序排列 3)次数和单词长度均相同,按字典升序排列 请输出处理后的字符串,每个单词以一个空格分隔。

MISAYAONE的博客 7982

微信小程序开发基础之六:js文件的引用export和import

js文件模块的定义和引用 - 定义 微信小程序在js文件中通过module.exports或者exports两者方法完成模块的定义和暴露接口 ```javascript // common.js function sayHello(name){ console.log("hello $(name) !") } function sayGoodbye(name){ console.l...

steventian72的博客 8474

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

封装、暴露方法供全局使用

export暴露封装的方法、import引用封装的方法 一般我们会创建一个文件夹,里面放封装的方法,简化代码(比如封装一下请求API、时间格式化函数等) 微信小程序的请求API封装可以看下这篇博客:微信小程序-封装请求API_五速无头怪的博客-优快云博客https://blog.youkuaiyun.com/black_cat7/article/details/120451986 在最外层目录下创建一个utils文件夹,以util.js文件为例 你可以直接声明一个函数,然后当场用export 把它暴露出.

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 860

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

博客csdn微信小程序持续更新中(入门)模块间关系/export

微信小程序 模块间关系export/import utils/index.js export function $attr(e, key) { return e.currentTarget.dataset[key] } pages/detail/index.js import{ $attr }from "../../utils/index.js" ...

QDYiWei的博客 161

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

百度网盘Mac版SVIP破解:装完重启,下载提速到7MB/s

一个 9.23G 的文件挂在下载列表里,100.00 KB/s,剩余超过 1 天。BaiduNetdiskPlugin-macOS 往百度网盘 Mac 客户端 2.2.2 里注入一个动态库做本地 SVIP 破解:本地限速和试用倒计时全部解除,实测提速到 7.08 MB/s;10GB 流量红线和服务端限速它管不到。适合偶尔搬几 GB 文件、又不想为会员付费的 Mac 用户。全文 4 分钟。 ##

gitblog_00863的博客 451

promise封装

小程序使用promise封装request请求 首先在根目录下创建一个文件夹,如果我用的是http,然后在这个文件夹下创建一个js文件。这个js文件中写入 export default (url,data,method)=>{ // 导出一个函数 函数中的 url是请求接口地址 data 是发送的参数 method 是请求方式 return new Promise((resolve,rejects)=>{ // 返回一个 promise wx.request({ url,

紫冰的博客 430

微信小程序中 使用require方法加载js模块儿文件,export暴露接口 其中有CommonJS ES6两种标准

1.暴露接口: 将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块通过 module.exports对外暴露接口。 module.exports={ postList:local_datebase } 2.调用接口: ​在需要使用这些模块的文件中,使用 require 将公共代码引入。 var postsDate=require('../../date/posts-date.js'...

weixin_43787178的博客 3731

微信小程序引入外部js module.exports 的使用

https://developers.weixin.qq.com/miniprogram/dev/reference/api/exports.html微信官方 我只是搬过来 module.exports 的引用 // common.js function sayHello(name) { console.log(`Hello ${name} !`) } function sayGoo...

林中明月间丶 6331

[微信小程序] JS 方法、类的导出和导入

微信小程序JS导出和导入 1. 导出 1.1 方法和变量导出(写在被导出方法和变量的js文件) module.exports = { variable: value, method : methodName } 1.2 class导出(es6语法) class HomeModule { constructor(url) { this.url = url; } } export { HomeModule } 2. 导入 2.1 方法和变量的引入(写在需要引入其他js的方法或变量的J

iChangebaobao的博客 2491

ES6 exports import 用法

JavaScript 一直没有模块(module)体系,现在可以通过exports import 来实现,可以进行小功能的拆分。 1.运行环境搭建 1.1 本地安装node开发环境,可以通过命令行进行 node file.js ,进行编译运行。 1.2 借助Chrome插件ES6 Tepl,安装成功后会在开发者选项中增加Scritch Js,点击Toogle Output显示两个面板

. 1160

Mysql 百万级数据迁移实战笔记, 最后一种方式一般我不告诉人

背景上个月跟朋友一起做了个微信小程序,趁着5.20节日的热度,两个礼拜内迅速积累了一百多万用户,我们在小程序页面增加了收集formid的埋点,用于给微信用户发送模板消息通知。随着数据量的增...

weixin_45727359的博客 496

微信小程序 —— 模块化方法的总结

一、. JS 文件 可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 才能对外暴露接口。 function sayHello(name) { console.log(`Hello ${name} !`) } function sayGoodbye(name) { console.log(`Goodbye ${name} !

starter_____的博客 7025

微信小程序request请求封装

微信小程序request请求封装wx.requext请求封装1.第一步2.第二步 wx.requext请求封装 1.第一步 创建一个utiles文件夹 在这个文件夹里创建一个request.js request.js代码如下 const baseUrl="" //baseUrl路径 const request = (params)=>{ return new Promise((resolev,reject)=>{ wx.request({ ...params, url:baseU

longshao_520的博客 836
上一篇: 微信小程序-- 执行云函数成功,但是request:null 解决方法
下一篇: 小程序实例 需要异步返回数据,否则返回的数据为null
少杰()
博客等级 码龄4年 18粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值