如何修复“模块构建失败(来自 ./node_modules/postcss-loader/src/index.js)”

Aka*_*tra 5 npm angular-cli angular

我正在执行ng serve,但在生成块后无法编译。

同一个存储库正在同事的机器上工作,具有相同的版本如下:

  • 节点版本:10.16.3
  • NPM 版本:6.9.0
  • @angular/cli:7.3.9

还试过:

  • 使用 nodejs lts/Dubnium,遇到同样的错误。
  • npm i在强制清理 npm 缓存后尝试。
  • 从系统中删除 node 和 npm 并重新安装所有内容。

执行的命令: ng serve

错误是:

ERROR in ./src/assets/css/style.css (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./src/assets/css/style.css)
Module build failed (from ./node_modules/postcss-loader/src/index.js):
TypeError: Cannot read property 'type' of undefined
    at /home/akashj/workspace/projects/frontEnd/src/assets/css/style.css:1999:3
    at stringifyNode (/home/akashj/workspace/projects/frontEnd/node_modules/postcss-value-parser/lib/stringify.js:2:19)
    at Function.stringify (/home/akashj/workspace/projects/frontEnd/node_modules/postcss-value-parser/lib/stringify.js:45:10)
    at Gradient.colorStops (/home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/hacks/gradient.js:505:26)
    at Gradient.oldWebkit (/home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/hacks/gradient.js:398:10)
    at Gradient.replace (/home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/hacks/gradient.js:91:30)
    at Gradient.add (/home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/value.js:148:20)
    at Gradient.add (/home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/hacks/gradient.js:572:35)
    at Gradient.process (/home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/prefixer.js:157:16)
    at /home/akashj/workspace/projects/frontEnd/node_modules/autoprefixer/lib/processor.js:327:15
    at /home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:190:18
    at /home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:135:18
    at Rule.each (/home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:101:16)
    at Rule.walk (/home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:131:17)
    at /home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:148:24
    at Root.each (/home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:101:16)
    at Root.walk (/home/akashj/workspace/projects/frontEnd/node_modules/postcss/lib/container.js:131:17)
? ?wdm?: Failed to compile.
Run Code Online (Sandbox Code Playgroud)

对于整个控制台输出ng servehttps : //pastebin.com/maHX3pCC

Aka*_*tra 4

我解决了。该行的 CSS(如下所示)末尾有一个逗号,之后没有任何值。postcss 因此引发错误。

background-image: linear-gradient(to right, #973a95, #055faa, );
Run Code Online (Sandbox Code Playgroud)

删除逗号,它按预期工作

background-image: linear-gradient(to right, #973a95, #055faa);
Run Code Online (Sandbox Code Playgroud)