Skip to content

CSS Modules not working as document #4376

Closed
@Maorey

Description

@Maorey

Version

4.0.0-beta.2

Reproduction link

https://github.com/vuejs/vue-cli/tree/v4.0.0-beta.2

Environment info

Irrelevant

Steps to reproduce

  1. in vue.config.js, set:
css.loaderOptions.css = {
  localIdentName: process.env.NODE_ENV === 'production' 
    ? '[hash:5]'
    : '[folder]-[name]-[local][emoji]',
  camelCase: 'only'
}
  1. yarn run serve

What is expected?

  1. <style> in .vue file is global mode
  2. <style module> in .vue file is local mode
  3. file /\w+\.(?:css|scss|sass|less|styl)/ is global mode
  4. file /\w+\.module\.(?:css|scss|sass|less|styl)/ is local mode
    mode

What is actually happening?

css-loader ValidationError

And try:

css.loaderOptions.css = {
  modules: {
      localIdentName: process.env.NODE_ENV === 'production' 
        ? '[hash:5]'
        : '[folder]-[name]-[local][emoji]',
  },
  localsConvention: 'camelCaseOnly',
}

All css are local mode


Maybe the option css.loaderOptions.css.modules should be rename to avoid conflict with css-loader option.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions