【问题标题】:Webpacker Deployment Issue Rails 6Webpacker 部署问题 Rails 6
【发布时间】:2020-05-29 01:41:45
【问题描述】:

这是错误代码:

ActionView::Template::Error (Webpacker can't find stylesheets in /app/public/packs/manifest.json. Possible causes:
1. You want to set webpacker.yml value of compile to true for your environment unless you are using the `webpack -w` or the webpack-dev-server.
2. webpack has not yet re-run to reflect updates.
3. You have misconfigured Webpacker's config/webpacker.yml file.
4. Your webpack configuration is not creating a manifest.
Your manifest contains: {
     "application.css": "/packs/css/application-77c6d56c.css",
     "application.js": "/packs/js/application-202b434086ff6248f760.js",
     "application.js.map": "/packs/js/application-202b434086ff6248f760.js.map",
     "entrypoints": {
     "application": {
     "css": [ "/packs/css/application-77c6d56c.css" ],
     "js": [ "/packs/js/application-202b434086ff6248f760.js" ],
     "js.map": [ "/packs/js/application-202b434086ff6248f760.js.map" ]

而有问题的代码是:

7:     <%= stylesheet_link_tag "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" %>
8:     <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
9:     <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
10:     <%= stylesheet_pack_tag 'stylesheets', media: 'all', 'data-turbolinks-track': 'reload' %>
11:     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
12:     <link rel="stylesheet" href="https://unpkg.com/tailwindcss/dist/tailwind.min.css">

我意识到我有不必要的链接标签,但我把它们放在那里只是为了确保一切正常。所有这些都在开发中完美运行,但是一旦部署到 Heroku,它就会在这里崩溃,所以现在没有任何工作。

我尝试添加一些 @import(s) 来连接所有 css/js 文件,但无济于事。我不确定目前的问题是什么。

使用 Rails 6、Webpacker、TailwindCSS,没有真正的 JS 使用,所以删除所有脚本内容不会是一个真正的问题,我只是离开了它,因为这是一个仍在开发中的项目,并且会在某个时候包含 JS。

【问题讨论】:

    标签: ruby-on-rails ruby heroku blogs ruby-on-rails-6


    【解决方案1】:

    我遇到了同样的问题,并注意到一些用于将 Tailwind CSS 添加到 Rails 的模板/教程指定添加到 application.html.erb

    &lt;%= stylesheet_pack_tag 'stylesheets', media: 'all', 'data-turbolinks-track': 'reload' %&gt;

    而其他人指定:

    &lt;%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %&gt;

    不是 webpack 专家,但读了一些资料让我确信stylesheet_pack_tag 帮助器中的名称是 webpack 将要捆绑的名称(来自您的 \app\javascript\packs 文件夹),但它也是捆绑的样式表名称您的布局正在寻找的 webpack(来自您的 \public\packs\css 文件夹)。这真的令人困惑,但我想这是配置上的约定。它也与上面抛出的错误有关。如果您将标签重命名为application,它应该可以解决您的错误(至少它似乎对我有用)。也许stylesheets 名称与旧版 Rails 相关?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 2021-02-28
      • 1970-01-01
      • 2017-06-16
      相关资源
      最近更新 更多