Ruby on rails Rails 6.1不带资产管道的sass加载程序(webpacker) 使用Rails 6.1和sass loader自动包含所有嵌套的SCSS文件
在Rails 6.0.3.4中,可以使用Sass加载程序对所有SCSS文件进行全局加载,而无需手动包含每个文件 问题-语法v7 这在Rails 6.1中失败,出现以下webpacker错误(对于webpacker配置,请参见下文,Ruby on rails Rails 6.1不带资产管道的sass加载程序(webpacker) 使用Rails 6.1和sass loader自动包含所有嵌套的SCSS文件,ruby-on-rails,webpacker,sass-loader,sass-globbing,Ruby On Rails,Webpacker,Sass Loader,Sass Globbing,在Rails 6.0.3.4中,可以使用Sass加载程序对所有SCSS文件进行全局加载,而无需手动包含每个文件 问题-语法v7 这在Rails 6.1中失败,出现以下webpacker错误(对于webpacker配置,请参见下文,.options={importer:globImporter()};//sass加载程序v7的语法) 问题-语法v8 如果将配置更改为sass loader v8语法(.sassOptions={importer:globImporter()};),则会出现不同的错误
.options={importer:globImporter()};//sass加载程序v7的语法
)
问题-语法v8
如果将配置更改为sass loader v8语法(.sassOptions={importer:globImporter()};
),则会出现不同的错误:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.module.rules[2].use[3] has an unknown property 'sassOptions'. These properties are valid:
object { ident?, loader?, options?, query? }
问题:
如何使用Rails 6.1和sass loader v8配置它
6.1版本之前的原始工作配置:
纱线添加节点sass glob导入器
,Rails 6.1使用sass-loader@8.0.2
#config/webpack/environment.js
const{environment}=require('@rails/webpacker')
const globImporter=require('node-sass-glob-importer');
环境
.装载机
.get('sass'))
.使用
.find(item=>item.loader=='sass loader')
.options={importer:globImporter()};//sass加载程序v7的语法
//.sassOptions={importer:globImporter()};//对于v8发动机
module.exports=环境
//app/javascript/packs/application.scss
导入“/application.scss”;
//app/javascript/packs/application.scss
@导入“../stylesheets/***/.scss”;
然后,
app/javascript/packs
下的所有嵌套SCSS样式表将自动全局化。找到了解决方案。对于Rails 6.1,您需要以下environment.js
webpacker配置:
const{environment}=require(“@rails/webpacker”)
const globImporter=require('node-sass-glob-importer');
环境
.装载机
.get('sass'))
.使用
.find(item=>item.loader=='sass loader')
.options={sassOptions:{importer:globImporter()}}//
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.module.rules[2].use[3] has an unknown property 'sassOptions'. These properties are valid:
object { ident?, loader?, options?, query? }