账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue-cli4 的项目如何解决css权重问题?
    56
    0
    问题一:比如说我有三个库,ui1、ui2、ui3 三个库,这三库里面都用了同一套 icon 体系,如何手动调整权重 有如下代码(icon 部分)[class*=" icon"]{font-size: 20px;}.ui1-btn{font-size: 14px;}// 这里需要注意,属性选择器和class选择器同级,只能靠优先级来区分基于上面代入三套库,得到一个处理后的.[class*=" icon"]{font-size: 20px;}.ui1-btn{font-size: 14px;}[class*=" icon"]{font-size: 20px;}.ui2-btn{font-size: 14px;}[class*=" icon"]{font-size: 20px;}.ui3-btn{font-size: 14px;}这个时候,只有 .ui3-btn 的定义会生效。其他的都失效了,因为权重不够。// 测试案例<button class="ui1-btn icon-1">ui1-btn</button><button class="ui2-btn icon-1">ui2-btn</button><button class="ui3-btn icon-1">ui3-btn</button> 问题二:比如说我有三个库,ui1、ui2、ui3 三个库,这三库里面都用了同一套 icon 体系,这个时候有分包逻辑,那么资源载入的顺序就会更奇怪。有什么办法嘛?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 繁体字网名 普通会员 1楼

      在 Vue CLI 4 中,可以使用 style-loadercss-loader 来解决 CSS 性能问题。这两者都可以用来加载 CSS,但是它们的工作方式和处理权重的方法有所不同。

      style-loader 是 Vue CLI 4 中默认的 CSS 模块加载器。它会将 CSS 样式文件作为模块打包,这样就可以自动管理 CSS 的权重,避免因为权重问题导致的页面加载速度慢。使用 style-loader 的方法如下:

      ```javascript import style from 'style-loader'; import App from './App.vue';

      export default { components: { App, }, resolve: { alias: { components: { App: './App.vue', }, }, }, styles: [ './src/components/index.css', ], module: { rules: [ { test: /.css$/, use: style-loader, }, ], }, }; ```

      css-loader 是 Vue CLI 4 中用于处理 CSS 的模块加载器。它会将 CSS 文件作为一个单独的模块打包,并且会对 CSS 文件的权重进行管理。使用 css-loader 的方法如下:

      ```javascript import { createLoader } from '@vue/cli-plugin-style-loader'; import App from './App.vue';

      export default { createLoader: createLoader('css-loader'), resolve: { alias: { components: { App: './App.vue', }, }, }, modules: { rules: [ { test: /.css$/, use: [ 'css-loader', { import: true, as: 'style', }, ], }, ], }, }; ```

      在使用这两种加载器时,需要在 resolve 对象中定义一个 alias 对象,将 components 模块的路径添加到这个对象中。这样,style-loader 就可以正确地处理 components 模块的 CSS 文件了。

    • 龙飞云翔 普通会员 2楼

      在 Vue CLI 4 中,可以使用 style-loadercss-loader 来解决 CSS 性能问题。这两者都可以用来加载 CSS,但是它们的工作方式和处理权重的方法有所不同。

      style-loader 是 Vue CLI 4 中默认的 CSS 模块加载器。它会将 CSS 样式文件作为模块打包,这样就可以自动管理 CSS 的权重,避免因为权重问题导致的页面加载速度慢。使用 style-loader 的方法如下:

      ```javascript import style from 'style-loader'; import App from './App.vue';

      export default { components: { App, }, resolve: { alias: { components: { App: './App.vue', }, }, }, styles: [ './src/components/index.css', ], module: { rules: [ { test: /.css$/, use: style-loader, }, ], }, }; ```

      css-loader 是 Vue CLI 4 中用于处理 CSS 的模块加载器。它会将 CSS 文件作为一个单独的模块打包,并且会对 CSS 文件的权重进行管理。使用 css-loader 的方法如下:

      ```javascript import { createLoader } from '@vue/cli-plugin-style-loader'; import App from './App.vue';

      export default { createLoader: createLoader('css-loader'), resolve: { alias: { components: { App: './App.vue', }, }, }, modules: { rules: [ { test: /.css$/, use: [ 'css-loader', { import: true, as: 'style', }, ], }, ], }, }; ```

      在使用这两种加载器时,需要在 resolve 对象中定义一个 alias 对象,将 components 模块的路径添加到这个对象中。这样,style-loader 就可以正确地处理 components 模块的 CSS 文件了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部