使用vue-cli新建webpack项目时如何使用postcss,及postcss相关插件

发布于 2022-09-06 16:02:54 字数 1961 浏览 8 评论 0

使用vue-cli脚手架新建了一个以webpack模版的项目,想在单组件的项目中使用postcss书写css,在vue-loader.conf.js中引用了postcss-cssnext与precss

var utils = require('./utils')
var config = require('../config')
var isProduction = process.env.NODE_ENV === 'production'

module.exports = {
  loaders: utils.cssLoaders({
    sourceMap: isProduction
      ? config.build.productionSourceMap
      : config.dev.cssSourceMap,
    extract: isProduction
  }),
  transformToRequire: {
    video: 'src',
    source: 'src',
    img: 'src',
    image: 'xlink:href'
  },
  postcss: [require('postcss-cssnext')(), require('precss')()]
}

测试使用postcss-cssnext时是有效的,但是用precss嵌套书写的时候就报错

<template lang="pug">
  #app
    router-view
</template>

<script>
  export default {
    name: 'app'
  }
</script>

<style lang="postcss">
  #app {
    font-family: 'Avenir', Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: gray(85);
    margin-top: 60px;
    img {
      color: gray(60);
    }
  }
</style>

错误信息:

Module build failed: TypeError: after.after is not a function
    at F:\www\yq\node_modules\_postcss-nested@2.1.0@postcss-nested\index.js:71:19
    at Rule.each (F:\www\yq\node_modules\_postcss@5.2.17@postcss\lib\container.js:114:22)
    at processRule (F:\www\yq\node_modules\_postcss-nested@2.1.0@postcss-nested\index.js:66:10)
    at F:\www\yq\node_modules\_postcss-nested@2.1.0@postcss-nested\index.js:101:17
    at Root.each (F:\www\yq\node_modules\_postcss@5.2.17@postcss\lib\container.js:114:22)
    at process (F:\www\yq\node_modules\_postcss-nested@2.1.0@postcss-nested\index.js:99:14)
    at LazyResult.run (F:\www\yq\node_modules\_postcss@5.2.17@postcss\lib\lazy-result.js:274:20)
    at LazyResult.asyncTick (F:\www\yq\node_modules\_postcss@5.2.17@postcss\lib\lazy-result.js:189:32)

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

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

发布评论

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

评论(2

强辩 2022-09-13 16:02:54

webpack 1.0 的less 写法!!! 和你的那个postcss一样的东西

{
    test : /\.(less|css)$/,
    loader: ExtractTextPlugin.extract('style', 'css!less')
},
指尖上的星空 2022-09-13 16:02:54

两个插件的顺序换一下

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