【问题标题】:Rails 7.0 application with bootstrap on development mode在开发模式下使用引导程序的 Rails 7.0 应用程序
【发布时间】:2022-01-21 11:04:10
【问题描述】:

我创建了一个新的 rails 应用程序,之后我使用cssbundling-rails 安装了引导程序,

我现在收到错误The asset "application.css" is not present in the asset pipeline. 为了让应用程序运行,我需要运行以下脚本 "scripts": { "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules" }, 只有在那之后,才会在 assets/builds 路径上创建一个应用程序文件。 但是我不想每次更新 css 文件时都运行这个命令,我希望服务器在不运行 yarn 脚本的情况下选择这些更新。 我怎样才能做到这一点?

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap bootstrap-5 ruby-on-rails-7


    【解决方案1】:

    我最近遇到了一个类似的问题,问题的根源其实是 npm 和 yarn。

    使用cssbundling-rails 正确配置的应用程序不需要运行该命令

    "scripts": { "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules" },

    让应用程序生成build/application.css

    npm 已知问题

    检查您的 npm 版本,如果您没有使用 npm 7.1+,则有 an issue,这基本上会阻止 yarn 正确设置。

    运行npm -v,如有必要,使用npm install -g npm@latest升级npm

    如果您必须升级 npm,则需要关闭终端并启动一个新终端,验证 npm 版本是否高于 7.1。

    升级后重新运行rails css:install:bootstrap

    一切都应该正确配置。

    捆绑观察者

    来自documentation for cssbundling-rails “您可以通过在带有yarn build:css --watch 的终端中以监视模式运行捆绑程序来使用这种方法进行开发(如果您不使用类似puma-dev 的东西,则在另一个终端中运行您的Rails 服务器)。您也可以使用./bin/dev,它将同时启动 Rails 服务器和 CSS 构建观察器(以及 JS 构建观察器,如果您还使用 jsbundling-rails)。”

    因此,您可以从 Rails 应用程序中的单独终端运行yarn build:css --watch,也可以只使用./bin/dev,但无论哪种方式都可以解决您遇到的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多