我在Webpacker中使用Ruby on Rails。
webpacker设置运行良好,我已经安装了jQuery,Bootstrap 4和Font Awesome。
我的webpacker目录当前如下所示:app/javascript/packs/javascripts/application.js
app/javascript/packs/stylesheets/application.scss
app/javascript/packs/stylesheets/base.scss
在我的application.html.erb文件中:
...
<%= javascript_pack_tag 'javascripts/application', 'data-turbolinks-track': 'reload' %>
<%= stylesheet_pack_tag 'stylesheets/application' %>
...
在我的application.js文件中:
import 'bootstrap/dist/js/bootstrap';
在我的application.scss文件中:
$fa-font-path: '~font-awesome/fonts';
@import '~font-awesome/scss/font-awesome';
@import '~bootstrap/scss/bootstrap';
@import 'base';
我目前正在将自定义CSS放在base.scss文件中,并且工作正常。
我想更具体地使用Bootstrap 4模板PurpleAdmin模板。它具有一个自定义CSS,该CSS包含超过2万行代码,您可能会看到here。
每当我尝试将CSS代码复制并粘贴到base.scss中时,webpacker都会引发错误
Webpacker can't find stylesheets/application.css
。但是我在base.scss中编写了自己的CSS,它可以正常编译。我还尝试将模板的自定义CSS放入链轮(
app/assets/stylesheets/base.scss
)中,并且效果很好。我还尝试将CSS直接导入到
<link rel='stylesheet' href='http://www.bootstrapdash.com/demo/purple-admin-free/css/style.css'>
这样的html.erb文件中,并且也可以正常工作。为什么使用Webpacker无法使用?正如我现在想使用链轮一样。
最佳答案
看来错误来自this file的17254-17280行。
@font-face {
font-family: 'ubuntu-light';
src: url("../fonts/Ubuntu/Ubuntu-Light.eot");
/* IE9 Compat Modes */
src: url("../fonts/Ubuntu/Ubuntu-Light.woff2") format("woff2"), url("../fonts/Ubuntu/Ubuntu-Light.woff") format("woff"), url("../fonts/Ubuntu/Ubuntu-Light.ttf") format("truetype");
}
@font-face {
font-family: 'ubuntu-regular';
src: url("../fonts/Ubuntu/Ubuntu-Regular.eot");
/* IE9 Compat Modes */
src: url("../fonts/Ubuntu/Ubuntu-Regular.woff2") format("woff2"), url("../fonts/Ubuntu/Ubuntu-Regular.woff") format("woff"), url("../fonts/Ubuntu/Ubuntu-Regular.ttf") format("truetype");
}
@font-face {
font-family: 'ubuntu-medium';
src: url("../fonts/Ubuntu/Ubuntu-Medium.eot");
/* IE9 Compat Modes */
src: url("../fonts/Ubuntu/Ubuntu-Medium.woff2") format("woff2"), url("../fonts/Ubuntu/Ubuntu-Medium.woff") format("woff"), url("../fonts/Ubuntu/Ubuntu-Medium.ttf") format("truetype");
}
@font-face {
font-family: 'ubuntu-bold';
src: url("../fonts/Ubuntu/Ubuntu-Bold.eot");
/* IE9 Compat Modes */
src: url("../fonts/Ubuntu/Ubuntu-Bold.woff2") format("woff2"), url("../fonts/Ubuntu/Ubuntu-Bold.woff") format("woff"), url("../fonts/Ubuntu/Ubuntu-Bold.ttf") format("truetype");
}
仅仅是因为我在本地没有这些文件,这会导致错误。删除具有无效来源的CSS可以帮我完成这项工作。
关于javascript - Webpacker找不到stylesheets/application.css,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53140834/