Socket
Socket
Sign inDemoInstall

@tarojs/plugin-http

Package Overview
Dependencies
3
Maintainers
0
Versions
332
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tarojs/plugin-http

Taro 小程序端支持使用 web 请求 的插件


Version published
Maintainers
0
Created

Readme

Source

@tarojs/plugin-http

Taro 运行时扩展插件, 扩展了 web 开发中网络请求相关的能力,让 taro 可以使用 axios 等网络请求封装库。

本插件需搭配 taro 3.6.0 及其以上版本使用

XMLHttpRequest

在小程序端模仿浏览器的 XMLHttpRequest 实现的对象,在浏览器环境中返回浏览器本身的 XMLHttpRequest。此对象通过 Webpack 的 ProvidePlugin 注入到全局对象以供第三方库调用。

document.cookie

在小程序端通过本地存储模仿浏览器的 document.cookie 实现的对象,在浏览器环境中返回浏览器本身的 document.cookie

其他影响

1.为了能正常使用 axios 库, 本插件会通过 Webpack 的 ProvidePlugin功能,在编译小程序时将全局的 FormDataBlob 对象替换成 undefined,这样使用 axios 时不会有 FormData is not defined 这类异常,相应的代价是 axios 的上传文件的功能也将不可用, 考虑到小程序有自己的独特上传API,这是可以接受的。

如果需要改变上述行为,可以通过传入选项 disabledFormDatadisabledBlob

// config/index.js
config = {
  // ...
  plugins: [
    ['@tarojs/plugin-http', {
        disabledFormData: false,
        disabledBlob: false
    }]
  ],
}

2.axios 中使用了document.createElement("a") 动态创建 a 标签设置 href 属性,然后读取 protocolhost 等属性来判断是否同源跨域;@tarojs/runtime 3.6.0 版本中支持了动态创建 a 标签, 并导出了一些公共函数,因此本插件需要配合 taro 3.6.0及其以上版本 使用

安装

npm i @tarojs/plugin-http

使用

// config/index.js
config = {
  // ...
  plugins: ['@tarojs/plugin-http'],
}

插件提供了3个参数:

参数名默认值说明
enableCookiefalse(是否)注入相关代码,支持 document.cookie 、 通过后端返回 Set-Cookie 响应头来设置 cookie
disabledFormDatatrue(是否)禁用掉 FormData 全局对象
disabledBlobtrue(是否)禁用掉 Blob 全局对象

Keywords

FAQs

Package last updated on 12 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc