Skip to content

Resolve all resource files dynamic publicpath, like Webpack's __webpack_public_path__

License

Notifications You must be signed in to change notification settings

chenxch/vite-plugin-dynamic-base

Repository files navigation

vite-plugin-dynamic-base

NPM version

English | 简体中文

  • 🦾 Resolve all resource files dynamic publicPath, like Webpack's __webpack_public_path__.

Installation

npm i vite-plugin-dynamic-base -D

Changelog

0.4.0

2022-05-01

Features

  • compatible vite-plugin-pwa
  • base mark (From the original automatic search and replacement to using base as the marker bit to replace, this is for more accurate processing, and in some scenarios in pwa, you need to use base as the marker bit)

Bug fixes

  • Multi-level cdn reference resource path fix

Refactors

  • Replace the matching scheme and use the base attribute as a marker bit
  • Code structure adjustment, introduction of asynchronous processing

Changelogs

Build Mode

  • es
  • system

Compatible plugins

Usage

// 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

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