javascript - 我的 PostCSS 插件在 Vue-cli 3 项目中不起作用

标签 javascript vue.js postcss

所以我写了这个我正在尝试使用的 postcss 插件。我根据 postcss 指南对其进行了测试,在我尝试将其用于实际项目之前,它按预期工作。

这是 plugin在 GitHub 上

我正在尝试在 Vue-cli 应用程序 (Webpack) 中使用它。

我使用 npm install 安装了插件。我也安装了 postcss 和 postcss-loader(我尝试了不同的版本,重新安装,但没有成功)

这是我的 postcss.config.js

module.exports = {
  plugins: [
    require("postcss-vwh"),
    //...
  ],
};

更新

好的,所以我创建了一个新的最小应用程序(没有 vue,只有 Webpack 5,css-loaders 包括最新版本的 postcss 和插件)并且它按预期工作!

所以显然问题毕竟不是我的插件,而是 vue-cli。经过几个小时的尝试使其工作后,我收到了这条错误消息:

Syntax Error: Error: PostCSS plugin postcss-vwh requires PostCSS 8.

研究表明,可以通过升级 postcss-loader 来修复此错误,但我被 vue-cli 强制使用版本 4,这是与运行我的 vue-cli 应用程序的 Webpack 4 兼容的最后一个版本。

那么,有什么方法可以让我的插件不那么苛刻吗?也许让它需要较低版本的 postcss,以便它可以与 Webpack 4 一起使用?

最佳答案

所以我从 PostCSS 的创建者那里得到了答案 here ,基本上就是说,不建议尝试支持旧的 postcss 版本。最好的方法是更新 postcss。

所以我所做的就是告别 vue-cli,从头开始手动创建一个新的 Webpack 5/vue 应用程序,将我的所有东西复制到那里,安装 postcss 8,现在它可以工作了。

关于javascript - 我的 PostCSS 插件在 Vue-cli 3 项目中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68777589/

相关文章:

webpack - 我可以使用带有 webpack 的 cssnext 来创建一个变量文件吗?

javascript - 平滑滚动 Bootstrap 3

javascript - 在vue组件中导入并使用three.js库

vue.js - VueJS - 安装 Hook 时出错 : "TypeError: this.$store is undefined"

javascript - Vue : Uncaught (in promise) TypeError: Cannot read property '_c' of undefined

css - PostCSS 和 Webpack 配置

node.js - 由于 undefined variable 的 postcss 规则,编译 scss 文件的 NodeJs 脚本失败

javascript - 如何将符号或文本放入图像的单击位置

Javascript 未定义的字符串属性真实性

javascript - 使用数据库结果数组 codeigniter 填充 html 表单