mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
Refactored module exports; (#5162)
* Refactored build pipeline; Added module exports tests; Added missing ESM export for parity with Axios factory; Added `toFormData`, `formToJSON`, `isAxiosError`, `spread`, `isCancel`, `all` as named export to `index.d.ts`; * Added ESM entry test; * Updated README.md `installing` section; * Added TypeScript importing test; Added missed `CanceledError` & `AxiosHeaders` to `AxiosStatic` interface; * Exclude `/test/module/` from tslint;
This commit is contained in:
@@ -35,6 +35,8 @@
|
||||
- [Features](#features)
|
||||
- [Browser Support](#browser-support)
|
||||
- [Installing](#installing)
|
||||
- [Package manager](#package-manager)
|
||||
- [CDN](#cdn)
|
||||
- [Example](#example)
|
||||
- [Axios API](#axios-api)
|
||||
- [Request method aliases](#request-method-aliases)
|
||||
@@ -93,6 +95,8 @@ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
|
||||
|
||||
## Installing
|
||||
|
||||
### Package manager
|
||||
|
||||
Using npm:
|
||||
|
||||
```bash
|
||||
@@ -117,7 +121,39 @@ Using pnpm:
|
||||
$ pnpm add axios
|
||||
```
|
||||
|
||||
Using jsDelivr CDN:
|
||||
Once the package is installed, you can import the library using `import` or `require` approach:
|
||||
|
||||
```js
|
||||
import axios, {isCancel, AxiosError} from 'axios';
|
||||
```
|
||||
|
||||
You can also use the default export, since the named export is just a re-export from the Axios factory:
|
||||
|
||||
```js
|
||||
import axios from 'axios';
|
||||
|
||||
console.log(axios.isCancel('something'));
|
||||
````
|
||||
|
||||
If you use `require` for importing, **only default export is available**:
|
||||
|
||||
```js
|
||||
const axios = require('axios');
|
||||
|
||||
console.log(axios.isCancel('something'));
|
||||
```
|
||||
|
||||
For cases where something went wrong when trying to import a module into a custom or legacy environment,
|
||||
you can try importing the module package directly:
|
||||
|
||||
```js
|
||||
const axios = require('axios/dist/browser/axios.cjs'); // browser commonJS bundle (ES2017)
|
||||
// const axios = require('axios/dist/node/axios.cjs'); // node commonJS bundle (ES2017)
|
||||
```
|
||||
|
||||
### CDN
|
||||
|
||||
Using jsDelivr CDN (ES5 UMD browser module):
|
||||
|
||||
```html
|
||||
<script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script>
|
||||
@@ -131,19 +167,11 @@ Using unpkg CDN:
|
||||
|
||||
## Example
|
||||
|
||||
### note: CommonJS usage
|
||||
In order to gain the TypeScript typings (for intellisense / autocomplete) while using CommonJS imports with `require()` use the following approach:
|
||||
|
||||
```js
|
||||
const axios = require('axios').default;
|
||||
|
||||
// axios.<method> will now provide autocomplete and parameter typings
|
||||
```
|
||||
|
||||
Performing a `GET` request
|
||||
|
||||
```js
|
||||
const axios = require('axios').default;
|
||||
import axios from 'axios';
|
||||
//const axios = require('axios'); // legacy way
|
||||
|
||||
// Make a request for a user with a given ID
|
||||
axios.get('/user?ID=12345')
|
||||
|
||||
Reference in New Issue
Block a user