【问题标题】:Rails 5.2/Yarn: What is the correct way to import CCS from a node module?Rails 5.2/Yarn:从节点模块导入 CCS 的正确方法是什么?
【发布时间】:2019-04-30 22:28:53
【问题描述】:

我使用 Yarn 添加了toastr

导入 JS 没有问题。但是,在生产中,CSS 不会加载。它在开发中运行良好,但在生产中却不行。

我是这样导入的:

# application.scss
@import "bootstrap";
@import "rails_bootstrap_forms";
@import "toastr/build/toastr.css";
@import "styles.scss";

正如我所说,它在开发中工作,但在生产服务器上运行时,我可以看到 Rails 正在资产文件夹中寻找文件:

http://bglomhook.herokuapp.com/assets/toastr/build/toastr.css

没有将 css 复制到 assets 文件夹中,有什么方法可以确保 Rails 找到该文件?

【问题讨论】:

    标签: ruby-on-rails asset-pipeline yarnpkg


    【解决方案1】:

    你需要两件事:

    1. 确保已安装 node_modules,即您的部署脚本中应该有一个 yarn install

    2. 让资产管道知道node_modules。这可以通过在资产路径中添加node_modules 来完成,在assets.rbconfig.assets.paths << Rails.root.join('node_modules')

    您可以找到更多信息here

    【讨论】:

    • 这两样东西我都已经有了。我已经仔细检查并可以确认toastr 安装在heroku 上的node_modules 目录中。另外,我在initializers/assets 中已经有了Rails.application.config.assets.paths << Rails.root.join('node_modules') 行。
    猜你喜欢
    • 2017-11-17
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2021-04-28
    相关资源
    最近更新 更多