diff --git a/packages/rax-plugin-app/package.json b/packages/rax-plugin-app/package.json index 85788bc774..23c295a01f 100644 --- a/packages/rax-plugin-app/package.json +++ b/packages/rax-plugin-app/package.json @@ -1,6 +1,6 @@ { "name": "rax-plugin-app", - "version": "0.1.0-2", + "version": "0.1.0-3", "description": "rax app base plugins", "license": "BSD-3-Clause", "main": "src/index.js", diff --git a/packages/rax-plugin-app/src/config/web/getBase.js b/packages/rax-plugin-app/src/config/web/getBase.js index bb84c54132..051cbc3bac 100644 --- a/packages/rax-plugin-app/src/config/web/getBase.js +++ b/packages/rax-plugin-app/src/config/web/getBase.js @@ -16,8 +16,7 @@ const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const getWebpackBase = require('../getWebpackBase'); module.exports = (context) => { - const { rootDir, userConfig } = context; - const { publicPath } = userConfig; + const { rootDir } = context; const config = getWebpackBase(context); @@ -85,7 +84,6 @@ module.exports = (context) => { config.plugin('document') .use(UniversalDocumentPlugin, [{ rootDir, - publicPath, path: 'src/document/index.jsx', render: serverRender.renderToString, }]); diff --git a/packages/rax-plugin-app/src/index.js b/packages/rax-plugin-app/src/index.js index e96d06eb0c..ee8a191822 100644 --- a/packages/rax-plugin-app/src/index.js +++ b/packages/rax-plugin-app/src/index.js @@ -4,7 +4,7 @@ const defaultUserConfig = require('./config/defaultUserConfig'); module.exports = ({ chainWebpack, registerConfig, context, onHook }, options = {}) => { // set default config - context.userConfig = deepmerge(context.userConfig, defaultUserConfig); + context.userConfig = deepmerge(defaultUserConfig, context.userConfig); const { targets = [] } = options; diff --git a/packages/rax-plugin-app/src/plugins/UniversalDocumentPlugin.js b/packages/rax-plugin-app/src/plugins/UniversalDocumentPlugin.js index 25217d6e9d..47470f0ffe 100644 --- a/packages/rax-plugin-app/src/plugins/UniversalDocumentPlugin.js +++ b/packages/rax-plugin-app/src/plugins/UniversalDocumentPlugin.js @@ -17,12 +17,13 @@ module.exports = class UniversalDocumentPlugin { } this.rootDir = options.rootDir ? options.rootDir : process.cwd(); - this.publicPath = options.publicPath ? options.publicPath : '/'; this.documentPath = options.path ? options.path : 'src/document/index.jsx'; } apply(compiler) { compiler.hooks.emit.tapAsync('UniversalDocumentPlugin', (compilation, callback) => { + const { publicPath } = compilation.outputOptions; + const filename = path.resolve(this.rootDir, this.documentPath); if (!existsSync(filename)) throw new Error(`File ${filename} is not exists, please check.`); @@ -37,7 +38,7 @@ module.exports = class UniversalDocumentPlugin { // get document html string const source = this.render(require('rax').createElement(documentElement, { - publicPath: this.publicPath, + publicPath, styles: [], scripts: ['web/index.js'], }));