diff --git a/packages/docz-core/src/bundlers/webpack/config.ts b/packages/docz-core/src/bundlers/webpack/config.ts
index 1bc27736a..401431804 100644
--- a/packages/docz-core/src/bundlers/webpack/config.ts
+++ b/packages/docz-core/src/bundlers/webpack/config.ts
@@ -49,6 +49,7 @@ export const createConfig = (args: Args, env: Env) => async (
const base = paths.servedPath(args.base)
const dist = paths.getDist(args.dest)
const srcPath = path.resolve(paths.root, args.src)
+ const publicPath = isProd ? base : '/'
/**
* general
@@ -83,8 +84,8 @@ export const createConfig = (args: Args, env: Env) => async (
config.output
.pathinfo(true)
- .path(dist)
- .publicPath(isProd ? base : '/')
+ .path(path.resolve(paths.root, dist))
+ .publicPath(publicPath)
.when(isProd, outputProd, outputDev)
.crossOriginLoading('anonymous')
@@ -176,7 +177,8 @@ export const createConfig = (args: Args, env: Env) => async (
config.plugin('assets-plugin').use(manifestPlugin, [
{
- filename: 'assets.json',
+ publicPath,
+ fileName: 'assets.json',
},
])
@@ -235,6 +237,7 @@ export const createConfig = (args: Args, env: Env) => async (
config.plugin('injections').use(require('webpack/lib/DefinePlugin'), [
{
...getClientEnvironment(base).stringified,
+ BASE_URL: args.hashRouter ? JSON.stringify('/') : JSON.stringify(base),
NODE_ENV: JSON.stringify(env),
},
])
diff --git a/packages/docz/src/theme.tsx b/packages/docz/src/theme.tsx
index d8ab98c62..5d6814c6b 100644
--- a/packages/docz/src/theme.tsx
+++ b/packages/docz/src/theme.tsx
@@ -9,6 +9,8 @@ import { ErrorBoundary } from './components/ErrorBoundary'
import { DataServer } from './components/DataServer'
import { state, State, ThemeConfig, ImportMap } from './state'
+declare var BASE_URL: string
+
const DefaultWrapper: SFC = ({ children }) => {children}
export interface ThemeProps {
@@ -46,7 +48,7 @@ export function theme(
-
+