/vuepress-plugin-dynamic-base

A VuePress plugin of enabling dynamic public path and route base.

Primary LanguageJavaScriptMIT LicenseMIT

vuepress-plugin-dynamic-base

NPM version NPM downloads Node.js CI

Feature

  • Dynamic public path.
  • Dynamic route base.

Motivation

The base option of VuePress assumes that the user's website will always have the same public path with router base. but it's very likely that we need to set them separately. For example, you'd deploy HTML and assets on different servers.

See also:

Install

yarn add -D vuepress-plugin-dynamic-base
# OR npm install -D vuepress-plugin-dynamic-base

Usage

  • Simple usage:
// .vuepress/config.js
module.exports = {
  plugins: [
    [
      'dynamic-base',
      {
        publicPath: 'your/custom/public/path',
        routeBash: 'your/custom/router/base',
      }
    ]
  ]
}
  • Advanced usage:
// .vuepress/config.js
module.exports = {
  plugins: [
    [
      'dynamic-base', 
      {
        publicPath: process.env.NETLIFY_CI
          ? null
          : 'your/custom/public/path',
        routeBash: {
          'hostA': '/',
          'hostB': '/blog/',
        }
      }
    ]
  ]
}

It means that the publc path will be different acccording to the NEV you set, and the router base will be '/' when the host is hostA, and '/blog/' when the host is hostB.

Options

publicPath

  • Type: string
  • Description: public path of webpack under the hood.

routeBash

  • Type: string | { [host: string]: string }
  • Description: base of vue router under the hood.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

vuepress-plugin-dynamic-base © ULIVZ, Released under the MIT License.

github.com/ulivz · Twitter @_ulivz