我遇到了一个问题:当我想导入一个我通过yarn安装的库到我的主样式表时,我收到了一个错误,可能我不应该收到,因为我不能控制它导入内部文件的方式.

让我来描述一下:

我有一个库 Select 器.js.我导入必要的SCSS文件超简单,我做完Yarn 安装后我做了

@import "@selectize/selectize/dist/scss/selectize";在我的应用程序.scss中

但是当我try 导入Bootstrap 5样式时

@import "@selectize/selectize/dist/scss/selectize.bootstrap5";

我收到一个错误

Error: Can't find stylesheet to import.
  ╷
1 │ @import "lib/bootstrap5/functions";

这个导入命令位于我前面导入的@selectize/selectize/dist/scss/selectize.bootstrap5内,该文件位于NODE_MODULES文件夹内.

所以,看起来像是当我编译

sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules

它采用了错误的相对路径并使用我的根应用程序的路径?我该怎么办?

我应该使用什么:

Rails 7.0.4.2

约恩1.22.19

S 1.53.0 S 1.53.0

@ Select / Select 0.15.2

推荐答案

作为解决办法,您可以再添加--load-path个:

--load-path=node_modules/@selectize/selectize/dist

将其添加到您的package.json编译脚本中:

"build:css:compile": "sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules --load-path=node_modules/@selectize/selectize/dist",

祈祷,这不会与你的应用程序中的任何东西冲突,否则你需要单独编译selectize或使用普通的css文件.

Ruby-on-rails相关问答推荐

在ransackable_scopes中的作用域上创建activeadmin过滤器

安装特定版本的Ruby时出现问题(OpenSSL问题)

我try 使用Ruby on Rails7创建一个Carbon 足迹计算器.但我无法保存和用户S对象

在Rails中,如何将帮助器方法添加到属性/列?

带有data-turbo的rails`link_to‘未获得turbo_stream请求格式

Rails6.1|有没有一种方法可以判断哪些关联已经加入到一个范围中?

使用has_many_through关联创建记录 – Ruby on Rails

别名可能与不同模型的相同别名有许多关联?

验证模型属性大于另一个

Rails - 如何从 http://example.com 重定向到 https://www.example.com

Ruby Sinatra Web 服务在 localhost:4567 上运行,但不在 IP 上

Factory Girl + Mongoid 在fixture 中嵌入文档

是否可以在 Rails 中否定范围?

指定要从 before_filter 中排除的控制器

如何从邮箱中获取域

rails 4 before_validation on: :create 或 on: :save

设计:为什么我的注销链接不起作用?

t.belongs_to 在迁移

Ruby on Rails Bootstrap Glyphicons 不工作

ActiveRecord 何时会保存关联?