vue项目中同时使用postcss的postcss-write-svg和less导致不能正常编译?

发布于 2022-09-06 20:16:57 字数 1606 浏览 21 评论 0

vue项目,webpack打包。
已配置好loader,代码如下

{
        test: /\.less$/,
        use: [
          {
          loader: 'style-loader',
          options: {} // style-loader options
        },{
          loader: 'css-loader',
          options: {
            importLoaders: 2 // css-loader options
          }
        },{
          loader: 'postcss-loader',
          options: {
            plugins: function () {
              return [
                require('postcss-write-svg')
              ];
            }
          }
        },{
          loader: 'less-loader',
            options: {}
        }
        ]
      },

在vue页面中写样式,代码如下:

<style scoped lang="less">
  @svg 1px-border {
    height: 2px;
    @rect {
      fill: var(--color, black);
      width: 100%;
      height: 50%;
    }
  }
  .ex-font{
    font-size:18px;
  }
  .ex-border{
    border: 1px solid transparent;
    border-image: svg(1px-border param(--color #00b1ff)) 2 2 stretch;
  }
</style>

编译后结果如图:

clipboard.png

若在style标签内去掉'lang="less"',则postcss-write-svg可正常编译:

clipboard.png

求助如何能同时使用?

补充:旧项目用的是Less 2.7.3版本,写法如图

clipboard.png
较高版本Less 暂未试

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

别闹i 2022-09-13 20:16:57

你试试把 postcss-load 放在最后面? 加载器是倒叙 注入的。

街道布景 2022-09-13 20:16:57

请问是哪里错误导致的?我也遇到了这种情况

木格 2022-09-13 20:16:57

同问 怎么 解决

山田美奈子 2022-09-13 20:16:57

同问这个问题,大佬解决了吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文