Skip to content
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

自定义 pages 后或其他情况下,CSS 中的相对路径替换不正确 #125

Open
cklwblove opened this issue Aug 14, 2023 · 0 comments

Comments

@cklwblove
Copy link
Owner

cklwblove commented Aug 14, 2023

解决方案如下:

const styles = [
  'css',
  'postcss',
  'scss',
  'sass',
  'less',
  'stylus'
]

const modules = [
  'vue-modules',
  'vue',
  'normal-modules',
  'normal'
]

module.exports = {
  // ...
  chainWebpack: config => {
    // ...
    if (shouldExtract) {
      styles.forEach(s => {
        modules.forEach(m =>
          config
            .module
            .rule(s)
            .oneOf(m)
            .use('extract-css-loader')
            .tap(options => {
              options.publicPath = '' // Set whatever you want as publicPath
              return options
            })
        )
      })
    }
  }
  // ...
};

或者 封装个通用的方法

const formatAssetsExtractCSSLoader = (config) => {
  const styles = [
    'css',
    'postcss',
    'scss',
    'sass',
    'less',
    'stylus'
  ]

  const modules = [
    'vue-modules',
    'vue',
    'normal-modules',
    'normal'
  ]

  if (shouldExtract()) {
    styles.forEach(s => {
      modules.forEach(m =>
        config
          .module
          .rule(s)
          .oneOf(m)
          .use('extract-css-loader')
          .tap(options => {
            options.publicPath = '../../../' // Set whatever you want as publicPath
            return options
          })
      )
    })
  }
}

module.exports = {
  // ...
  chainWebpack: config => {
    // ...
     formatAssetsExtractCSSLoader(config);
    }
  }
  // ...
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant