RAILS 轨道资产:预编译失败

Posted

技术标签:

【中文标题】RAILS 轨道资产:预编译失败【英文标题】:RAILS rails assets:precompile fails 【发布时间】:2020-11-17 22:10:26 【问题描述】:

我正在运行 RAILS 6.0.3,所以我使用 webpacker。

当我尝试在 RAILS 开发模式下使用 rails assets:precompile 编译资产时,它运行得很好,但是当我尝试在 RAILS 生产模式下运行它时,我收到了错误消息:

编译失败: CssSyntaxError: /data/rails-base-dir/jquery-ui.css:1:1: 未知词

但是文件 /data/rails-base-dir/jquery-ui.css 不存在! 所以路径/位置有问题...

我没有办法解决它。

对于安装 jquery-ui :我已遵循此指南:gist.github.com/.../#jquery-jquery-ui

【问题讨论】:

出于这个原因,我使用 jquery-ui gem。尝试通过 gem 添加它并删除您自己添加的库,因为它解决了兼容性问题:github.com/jquery-ui-rails/jquery-ui-rails 我尝试用这个 gem 包替换 yarn 包。我按照要求做了----- 1) gem 'jquery-ui-rails' ------ 2) 在 app/javascript/packs/application.js ------ 要求('jquery-ui' ); ------ 但是我想用的jquery-ui功能已经不行了。 ----- JS 错误:.autocomplete 不是函数 【参考方案1】:

经过几天的尝试和工作 - 找到了解决方案。 我的知识有一个差距。 webpacker 如何工作以及如何配置。使用 RAILS 6,现在有很多配置文件切换到 javascript 样式。所以 Javascript 移动到了更重要的位置。

我想分享一个非常好的页面,它可以为更黑暗的 webpacker 知识带来更多光明:Page from Ross Kaffenberger

这个页面很有用:How to debug webpack on Rails

我发现./bin/webpack --debug 正在编译javascript 代码。然后执行rails assets:precompilerails webpacker:compile 不会失败。

但我没有查出最初失败的原因:

编译失败:CssSyntaxError: /data/rails-base-dir/jquery-ui.css:1:1: 未知词

【讨论】:

以上是关于RAILS 轨道资产:预编译失败的主要内容,如果未能解决你的问题,请参考以下文章

预编译资产失败的 Rails

Rails 4 Heroku 资产:预编译失败

ruby on rails升级资产预编译失败

远程:!预编译资产失败。在heroku上(Rails 6和语义UI)

资产:使用 uglify 预编译失败

宝石更新后:测试失败,“资产未声明为在生产中预编译”