fix: fall back to default value when publicPath is falsy (#4365)

* test: let tests fail

* fix: add falsy default fallback

* fix(publicPath): force adding trailing slash

* fix: also change _publicPath
This commit is contained in:
Alexander Lichter 2018-11-20 18:12:05 +01:00 committed by Sébastien Chopin
parent 27e79be285
commit e0537d54be
2 changed files with 12 additions and 1 deletions

View File

@ -5,7 +5,7 @@ import defaults from 'lodash/defaults'
import pick from 'lodash/pick' import pick from 'lodash/pick'
import isObject from 'lodash/isObject' import isObject from 'lodash/isObject'
import consola from 'consola' import consola from 'consola'
import { isPureObject, isUrl, guardDir, isNonEmptyString } from '@nuxt/common' import { guardDir, isNonEmptyString, isPureObject, isUrl } from '@nuxt/common'
import { getDefaultNuxtConfig } from './config' import { getDefaultNuxtConfig } from './config'
export function getNuxtConfig(_options) { export function getNuxtConfig(_options) {
@ -53,7 +53,14 @@ export function getNuxtConfig(_options) {
// Apply defaults // Apply defaults
const nuxtConfig = getDefaultNuxtConfig() const nuxtConfig = getDefaultNuxtConfig()
nuxtConfig.build._publicPath = nuxtConfig.build.publicPath nuxtConfig.build._publicPath = nuxtConfig.build.publicPath
// Fall back to default if publicPath is falsy
if (options.build && !options.build.publicPath) {
options.build.publicPath = undefined
}
defaultsDeep(options, nuxtConfig) defaultsDeep(options, nuxtConfig)
// Check srcDir and generate.dir excistence // Check srcDir and generate.dir excistence
@ -111,6 +118,9 @@ export function getNuxtConfig(_options) {
options.appTemplatePath = path.resolve(options.srcDir, options.appTemplatePath) options.appTemplatePath = path.resolve(options.srcDir, options.appTemplatePath)
} }
options.build.publicPath = options.build.publicPath.replace(/([^/])$/, '$1/')
options.build._publicPath = options.build._publicPath.replace(/([^/])$/, '$1/')
// Ignore publicPath on dev // Ignore publicPath on dev
/* istanbul ignore if */ /* istanbul ignore if */
if (options.dev && isUrl(options.build.publicPath)) { if (options.dev && isUrl(options.build.publicPath)) {

View File

@ -70,6 +70,7 @@ export default {
], ],
build: { build: {
scopeHoisting: true, scopeHoisting: true,
publicPath: '',
postcss: { postcss: {
preset: { preset: {
features: { features: {