Taro中使用阿里云

Taro框架中引入阿里云

最近做的一个项目当中云存储使用的是阿里云,在上传资源后还需要拿着获取到的不可访问资源地址去进行解密才能获取到能临时访问的资源地址。

在使用阿里云之前我们需要引入ali-oss这个包,然后我就直接通过npm i ali-oss在Taro项目中引入了这个包,在运行时发现直接报错了。如下图:
在这里插入图片描述
cannot find module 'fs‘,fs好像是node里面的内置模块,于是我就去npm上看了一下ali-oss的使用方法,发现使用npm引入后这个包只能在node中使用,然后就试着使用了cdn引入的方式在Taro项目的index.html文件中通过script标签引入ali-oss的cdn。这时运行项目时还是会报这个错误(心态崩了呀),换了其他版本后还是不行(可能版本不对)。最后又找到这个文件的sdk放到项目当中,试了几个版本后终于成功运行了~~

下面时在项目中进行资源地址替换的方法:

import OSS from '@/utils/sdk/aliyun-oss-sdk.min.js';
import * as cache from './toolbox/cache';
import * as appConfig from './appConfig.js';

import {
    getApp } from '@tarojs/taro';
export default  {
   
  //该方法用来从后台获取连接阿里云所需要的信息,获取到信息后通过ali-oss包中的OSS方法创建连接通道,创建成功后返回的ossClient对象可用于资源解密,然后我们将该方法存储到小程序的全局当中,并将token信息存储到缓存,并设置过期时间,因为从后台获取到的连接信息是有时间限制的,然后再每个页面的componentDidMount生命周期里面判断缓存中的token是否存在以及全局中是否有ossClient对象,若没有则表明过期需要重新获取连接信息,这时需要再次调用该方法。
  getOssAccess : async (props, callback) => {
   
    await props.dispatch({
   
      type: 'oss/queryTempToken',
      extra
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值