-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
部署之后为什么主题切换不了 #390
Comments
这是 const path = require('path')
const webpack = require('webpack')
const createThemeColorReplacerPlugin = require('./config/plugin.config')
function resolve (dir) {
return path.join(__dirname, dir)
}
// vue.config.js
const vueConfig = {
configureWebpack: {
plugins: [
// Ignore all locale files of moment.js
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
]
},
chainWebpack: (config) => {
config.resolve.alias
.set('@$', resolve('src'))
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.oneOf('inline')
.resourceQuery(/inline/)
.use('vue-svg-icon-loader')
.loader('vue-svg-icon-loader')
.end()
.end()
.oneOf('external')
.use('file-loader')
.loader('file-loader')
.options({
name: 'assets/[name].[hash:8].[ext]'
})
},
css: {
loaderOptions: {
less: {
modifyVars: {
// less vars,customize ant design theme
// 'primary-color': '#F5222D',
// 'link-color': '#F5222D',
// 'border-radius-base': '4px'
},
javascriptEnabled: true
}
}
},
devServer: {
// development server port 8000
port: 8000
// If you want to turn on the proxy, please remove the mockjs /src/main.jsL11
// proxy: {
// '/api': {
// target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro',
// ws: false,
// changeOrigin: true
// }
// }
},
// disable source map in production
productionSourceMap: false,
lintOnSave: undefined,
// babel-loader no-ignore node_modules/*
transpileDependencies: [],
// TODO 如果项目是发布在web服务器的非根目录,则需要指定项目的名称, 这里我发布到gitee, 所以指定了项目名称
publicPath: process.env.VUE_APP_PROJECT_NAME + '/'
}
// preview.pro.loacg.com only do not use in your production;
// if (process.env.NODE_ENV !== 'production' || process.env.VUE_APP_PREVIEW === 'true') {
// // add `ThemeColorReplacer` plugin to webpack plugins
// vueConfig.configureWebpack.plugins.push(createThemeColorReplacerPlugin())
// }
// TODO 用于在示例网站,加入主题切换功能(生产不建议使用)
vueConfig.configureWebpack.plugins.push(createThemeColorReplacerPlugin())
module.exports = vueConfig 这是 /**
* 项目默认配置项
* primaryColor - 默认主题色, 如果修改颜色不生效,请清理 localStorage
* navTheme - sidebar theme ['dark', 'light'] 两种主题
* colorWeak - 色盲模式
* layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局
* fixedHeader - 固定 Header : boolean
* fixSiderbar - 固定左侧菜单栏 : boolean
* autoHideHeader - 向下滚动时,隐藏 Header : boolean
* contentWidth - 内容区布局: 流式 | 固定
*
* storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage)
*
*/
export default {
primaryColor: '#52C41A', // primary color of ant design
navTheme: 'dark', // theme for nav menu
layout: 'sidemenu', // nav menu position: sidemenu or topmenu
contentWidth: 'Fixed', // layout of content: Fluid or Fixed, only works when layout is topmenu
fixedHeader: false, // sticky header
fixSiderbar: false, // sticky siderbar
autoHideHeader: false, // auto hide header
colorWeak: false,
multiTab: false,
// TODO 设置为下面这种形式, 就可以去掉动态主题配置的组件(生产不建议使用)
production: false,
// production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true',
// vue-ls options
storageOptions: {
namespace: 'pro__', // key prefix
name: 'ls', // name variable Vue.[ls] or this.[$ls],
storage: 'local' // storage name session, local, memory
}
} |
@sendya 这种我知道, 我是想知道, 怎么进行动态切换. 我打包之后, 放到gitee上部署, 无法进行主题的动态切换, 但是在本地又是可以的.区别在于我本地是根目录, 而gitee不是根目录, 也就是说在非根目录部署时, 怎么使这个动态主题切换的组件, 变得有实际作用. 这是我部署的地址: http://free_pan.gitee.io/ant-design-pro-vue-modify/#/welcome/index |
@sendya 感谢你的回答, 我自己找到问题的原因, 并解决了该问题. 以下是解决办法: 之所以切换不了, 是因为该插件未加载到那个 |
@free-pan 大佬,请教一下具体怎么改,我这边应该怎么找路径,我并没有找到src/SettingDrawer/themeColor.js文件啊 |
@yixinagqingyuan 如果你需要在生产环境打包之后启用主题切换的功能,需要做如下操作:
.ant-menu-dark .ant-menu-item-selected>a.router-link-active {
color: #fff;
}
.ant-menu-dark .ant-menu-item-selected>a.router-link-active:hover {
color: #fff;
} |
好的,谢了 |
@free-pan 请问这个第三步是必要的吗,前两步做了以后我看目前的样式就是这样的,似乎没有必要修改 |
@Charbo23 第三步是因为我用的那个版本,当使用的是顶部菜单模式时, 无子菜单的根菜单, 会存在样式问题, 第三步的样式, 就是为了解决这个问题 |
大佬,请问vue.config.js function resolve (dir) { // vue.config.js / chainWebpack: (config) => {
}, css: {
}, devServer: {
}, // disable source map in production function getAntdSerials (color) { |
兄弟,解决了吗,我也遇到同样的问题 |
Describe the bug (描述 Bug)
To Reproduce (重现步骤)
这是我部署的实例地址:
http://free_pan.gitee.io/ant-design-pro-vue-modify/#/welcome/index
Expected behavior(你期待的是什么?)
主题能够正常切换
Screenshots(截图)
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context(附加信息)
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: