如何在 Rails 5.2 / Angular 5 / Webpacker 中为组件包含单独的 SCSS 文件?



我一直在遵循一些基本指南,让Angular 5与Rails 5和Webpacker一起运行,但显然最近有一些变化给事情带来了麻烦。例如,我正在按照本指南从头开始设置项目。

https://github.com/amitai10/rails-angular-webpacker

一切正常,直到您进入标有"使用不同的文件进行样式"的部分

当我重新启动我的 webpack-dev-server 时,编译失败并显示错误:

ERROR in ./node_modules/css-loader??ref--2-2!./node_modules/postcss-loader/lib??ref--2-3!./node_modules/sass-loader/lib/loader.js??ref--2-4!./node_modules/to-string-loader/src/to-string.js!./node_modules/css-loader!./node_modules/resolve-url-loader!./node_modules/sass-loader/lib/loader.js!./app/javascript/hello_angular/app/app.component.scss
Module build failed: 
^
Invalid CSS after "": expected 1 selector or at-rule, was "var result = requir"
in /home/user/Desktop/parts-app/app/javascript/hello_angular/app/app.component.scss (line 1, column 1)
Error: 
^
Invalid CSS after "": expected 1 selector or at-rule, was "var result = requir"
in /home/user/Desktop/parts-app/app/javascript/hello_angular/app/app.component.scss (line 1, column 1)
at options.error (/home/user/Desktop/parts-app/node_modules/node-sass/lib/index.js:291:26)
@ ./app/javascript/hello_angular/app/app.component.scss 2:14-434
@ ./app/javascript/hello_angular/app/app.component.ts
@ ./app/javascript/hello_angular/app/app.module.ts
@ ./app/javascript/hello_angular/index.ts
@ ./app/javascript/packs/hello_angular.js
@ multi (webpack)-dev-server/client?http://localhost:3035 ./app/javascript/packs/hello_angular.js

我已经为此工作了一段时间,找不到有关如何使用最新更改进行此设置的任何更新文档。任何能为我指明正确方向的东西都将不胜感激。

您可能已经配置了另一个 scss 预处理器,因此 webpack 会感到困惑。寻找这样的东西

{
test: /.scss$/,
use: [
'css-loader',
'sass-loader'
]
}

在你的 webpack.base.config 中.js并将其注释掉。

看起来像你的 scss 文件中的一些 javascript。

var result = requir

看起来不像 SCSS 文件。查看您的文件,如果仍有问题,请在此答案中添加注释。

最新更新