diff --git a/server/build/webpack.js b/server/build/webpack.js index 7d3e70b2bd6394d939eb20d65ca5e775870ec99c..3d688177079fb78b1dd2f2f6ce25c3b4f2573efa 100644 --- a/server/build/webpack.js +++ b/server/build/webpack.js @@ -15,9 +15,8 @@ export default async function createCompiler(dir, { hotReload = false } = {}) { } const errEntry = join('_bundles', 'pages', '_error.js') - if (!entry[errEntry]) { - entry[errEntry] = resolve(__dirname, '..', '..', 'pages', '_error.js') - } + const defaultErrorPath = resolve(__dirname, '..', '..', 'pages', '_error.js') + if (!entry[errEntry]) entry[errEntry] = defaultErrorPath const nodeModulesDir = resolve(__dirname, '..', '..', '..', 'node_modules') @@ -37,7 +36,10 @@ export default async function createCompiler(dir, { hotReload = false } = {}) { const loaders = [{ test: /\.js$/, loader: 'emit-file-loader', - include: dir, + include: [ + dir, + resolve(__dirname, '..', '..', 'pages') + ], exclude: /node_modules/, query: { name: '[path][name].[ext]' @@ -113,6 +115,12 @@ export default async function createCompiler(dir, { hotReload = false } = {}) { { test: /\.json$/, loader: 'json-loader' } ], loaders + }, + customInterpolateName: function (url, name, opts) { + if (defaultErrorPath === this.resourcePath) { + return 'pages/_error.js' + } + return url } }) }