1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

Use DefinePlugin to pass distDir instead of manually passing (#5105)

This commit is contained in:
Tim Neutkens 2018-09-05 17:49:49 +02:00 committed by GitHub
parent 6d5ca6dd1e
commit 673378e415
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

View file

@ -133,7 +133,8 @@ export default async function getBaseWebpackConfig (dir: string, {dev = false, i
.split(process.platform === 'win32' ? ';' : ':') .split(process.platform === 'win32' ? ';' : ':')
.filter((p) => !!p) .filter((p) => !!p)
const outputPath = path.join(dir, config.distDir, isServer ? SERVER_DIRECTORY : '') const distDir = path.join(dir, config.distDir)
const outputPath = path.join(distDir, isServer ? SERVER_DIRECTORY : '')
const pagesEntries = await getPages(dir, {nextPagesDir: DEFAULT_PAGES_DIR, dev, buildId, isServer, pageExtensions: config.pageExtensions.join('|')}) const pagesEntries = await getPages(dir, {nextPagesDir: DEFAULT_PAGES_DIR, dev, buildId, isServer, pageExtensions: config.pageExtensions.join('|')})
const totalPages = Object.keys(pagesEntries).length const totalPages = Object.keys(pagesEntries).length
const clientEntries = !isServer ? { const clientEntries = !isServer ? {
@ -260,6 +261,10 @@ export default async function getBaseWebpackConfig (dir: string, {dev = false, i
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(dev ? 'development' : 'production') 'process.env.NODE_ENV': JSON.stringify(dev ? 'development' : 'production')
}), }),
// This is used in client/dev-error-overlay/hot-dev-client.js to replace the dist directory
!isServer && dev && new webpack.DefinePlugin({
'process.env.__NEXT_DIST_DIR': JSON.stringify(distDir)
}),
!dev && new webpack.optimize.ModuleConcatenationPlugin(), !dev && new webpack.optimize.ModuleConcatenationPlugin(),
isServer && new PagesManifestPlugin(), isServer && new PagesManifestPlugin(),
!isServer && new BuildManifestPlugin(), !isServer && new BuildManifestPlugin(),

View file

@ -33,10 +33,6 @@ import stripAnsi from 'strip-ansi'
import {rewriteStacktrace} from '../source-map-support' import {rewriteStacktrace} from '../source-map-support'
import fetch from 'unfetch' import fetch from 'unfetch'
const {
distDir
} = window.__NEXT_DATA__
// This alternative WebpackDevServer combines the functionality of: // This alternative WebpackDevServer combines the functionality of:
// https://github.com/webpack/webpack-dev-server/blob/webpack-1/client/index.js // https://github.com/webpack/webpack-dev-server/blob/webpack-1/client/index.js
// https://github.com/webpack/webpack/blob/webpack-1/hot/dev-server.js // https://github.com/webpack/webpack/blob/webpack-1/hot/dev-server.js
@ -108,7 +104,8 @@ export default function connect (options) {
const error = new Error(err.message) const error = new Error(err.message)
error.name = err.name error.name = err.name
error.stack = err.stack error.stack = err.stack
rewriteStacktrace(error, distDir) // __NEXT_DIST_DIR is provided by webpack
rewriteStacktrace(error, process.env.__NEXT_DIST_DIR)
return error return error
} }
} }

View file

@ -165,8 +165,6 @@ async function doRender (req, res, pathname, query, {
if (!Document.prototype || !Document.prototype.isReactComponent) throw new Error('_document.js is not exporting a React component') if (!Document.prototype || !Document.prototype.isReactComponent) throw new Error('_document.js is not exporting a React component')
const doc = <Document {...{ const doc = <Document {...{
__NEXT_DATA__: { __NEXT_DATA__: {
// Used in development to replace paths for react-error-overlay
distDir: dev ? distDir : undefined,
props, // The result of getInitialProps props, // The result of getInitialProps
page, // The rendered page page, // The rendered page
pathname, // The requested path pathname, // The requested path