my-vite-plugin-dynamic-base
Version:
Resolve all resource files dynamic publicPath, like Webpack's __webpack_public_path__
89 lines (61 loc) • 2.44 kB
Markdown
# vite-plugin-dynamic-base
<!-- [](https://www.npmjs.com/package/vite-plugin-dynamic-base) -->
<a href="https://www.npmjs.com/package/vite-plugin-dynamic-base">
<img src="https://img.shields.io/npm/v/vite-plugin-dynamic-base" alt="Version" />
</a>
<a href="https://www.npmjs.com/package/vite-plugin-dynamic-base">
<img src="https://img.shields.io/github/languages/top/chenxch/vite-plugin-dynamic-base" alt="Languages" />
</a>
<a href="https://www.npmjs.com/package/vite-plugin-dynamic-base">
<img src="https://img.shields.io/npm/l/vite-plugin-dynamic-base" alt="License" />
</a>
<a href="https://github.com/AttoJS/vite-plugin-dynamic-base/stargazers">
<img src="https://img.shields.io/github/stars/chenxch/vite-plugin-dynamic-base" alt="Star" />
</a>
<a href="https://www.npmjs.com/package/vite-plugin-dynamic-base">
<img src="https://img.shields.io/npm/dm/vite-plugin-dynamic-base" alt="Download" />
</a>
<p align='center'>
<b>English</b> | <a href="https://github.com/chenxch/vite-plugin-dynamic-base/blob/main/README.zh-CN.md">简体中文</a>
</p>
- 🦾 Resolve all resource files dynamic publicPath, like Webpack's `__webpack_public_path__`.
## Installation
```bash
npm i vite-plugin-dynamic-base -D
```
## Changelog
### 0.4.9
_2023-04-11_
#### Fix
- fix html template src parse ([#21](https://github.com/chenxch/vite-plugin-dynamic-base/issues/21))
[Changelogs](./CHANGELOG.md)
## Build Mode
- [x] es
- [x] system
## Compatible plugins
- [x] [@vitejs/plugin-legacy](https://www.npmjs.com/package/@vitejs/plugin-legacy)
- [x] [vite-plugin-pwa](https://www.npmjs.com/package/vite-plugin-pwa)
## Usage
```ts
// vite.config.ts
import { dynamicBase } from 'vite-plugin-dynamic-base'
export default defineConfig({
// base: "/",
base: process.env.NODE_ENV === "production" ? "/__dynamic_base__/" : "/",
plugins: [
dynamicBase({ /* options */ }),
],
})
```
## Configuration
The following show the default values of the configuration
```ts
dynamicBase({
// dynamic public path var string, default window.__dynamic_base__
publicPath: 'window.__dynamic_base__',
// dynamic load resources on index.html, default false. maybe change default true
transformIndexHtml: false
})
```
## Plan
1. Exploring the feasibility of using SWC to transform the AST for processing