微信小程序中,import 两种路径引入方式的区别和使用场景

在微信小程序中,import 语句用于引入模块,路径的写法会影响模块的正确导入。以下是两种路径引入方式的区别和使用场景:

1、 相对路径 (import { formatTimestamp } from ".../.../.../utils/util")

解释

  • 相对路径是相对于当前文件所在目录的路径。
  • .../.../.../utils/util 表示从当前文件向上移动三个目录,然后进入 utils 目录,最后引入 util.js 文件。

假设你的文件结构如下

miniprogram/

├── pages/

│ ├── message/

│ │ ├── message-list/

│ │ │ ├── message-list.js

│ │ │ └── .../.../.../utils/util.js

│ └── app.js

在 message-list/message-list.js 文件中,你需要向上移动三层目录才能找到 utils/util.js 文件。因此,使用相对路径 .../.../.../utils/util 是合适的。

优点

直观地反映了文件系统中的实际路径。

可以在多级目录结构中精确控制路径。

缺点

如果目录结构变化,路径可能需要相应地调整。

相对路径较长时,可能会变得难以维护。

2、绝对路径 (import { formatTimestamp } from "miniprogram/utils/util"😉

解释

  • 绝对路径是从项目根目录或指定的根路径开始的路径。
  • miniprogram/utils/util 表示从项目的根目录开始查找 miniprogram/utils/util.js 文件。

如果你的项目配置了绝对路径,且 miniprogram 是根目录下的一个目录,那么 import { formatTimestamp } from "miniprogram/utils/util"; 是有效的。

优点

路径更简洁,尤其是当文件层级较深时。

更易于维护和阅读。

缺点

-- 需要确保项目配置支持绝对路径解析。微信小程序默认不支持绝对路径,需要配置 jsconfig.json 或 tsconfig.json 来支持这种路径。

-- 如果项目结构发生变化,可能需要重新配置路径映射。

配置绝对路径(在微信小程序中)

微信小程序默认不支持绝对路径。如果你想使用绝对路径,可以在 jsconfig.json 或 tsconfig.json 中配置路径别名(如果你的开发工具支持)。

jsconfig.json

{

"compilerOptions": {

"baseUrl": "miniprogram", // 设置根目录

"paths": {

"utils/*": "utils/* "

}

}

}

3、总结

  • 相对路径(例如 .../.../.../utils/util)从当前文件的位置计算,适用于大多数项目结构。
  • 绝对路径(例如 miniprogram/utils/util)从项目根目录计算,简洁且易于维护,但需要配置支持。

在使用绝对路径时,确保你的开发环境或工具支持这种路径映射,否则推荐使用相对路径来确保模块能够正确引入。

相关推荐
镭封1 小时前
基于微信小程序的移动端AI配音工作流设计
人工智能·小程序·媒体
FX1317887KP_3 小时前
PET口语备考攻略:发音、语法、表达,三个问题怎么同时解决
小程序·ket口语·pet口语·fce备考·剑桥英语
地球@+jdhb443 小时前
企业私域运营新趋势:快手短视频平台跳转小程序企微卡片链路搭建成为商家运营重点
小程序·企业微信
程序鉴定师4 小时前
2026年深圳小程序/App开发公司技术选型指南:从架构设计到交付标准全维度评估
java·小程序·uni-app·php·objective-c
Q26433650235 小时前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码
网硕互联的小客服7 小时前
微信小程序多种跳转页面方式教学
微信小程序·小程序·notepad++
m0_5873830021 小时前
24小时自助健身房软硬件解决方案实战指南:从架构设计到部署实施
java·spring·小程序·架构·需求分析
m0_462803881 天前
会议签到里,手写签名怎样从“额外动作“变成流程环节
微信小程序
m0_587383001 天前
24小时自助健身房软硬件解决方案实战:从架构设计到部署指南
java·spring·小程序·架构·需求分析
CRMEB系统商城1 天前
前后端技术栈全面换代!CRMEB 多商户(Java)v3.0更新预告
java·开发语言·小程序·php