Javascript Dev中Rails 6中的资产出现错误404(未找到)
我已经尝试了一个多星期,试图在版本6中的Rails应用程序中添加自定义模板。无论是在html中使用纱线还是直接引用,都找不到资源 GET net::ERR_中止404(未找到) 这些资产位于供应商文件夹中。请注意,文件夹中还有一个名为“供应商”的文件夹,因此这不是一个错误 我的application.js中有Javascript Dev中Rails 6中的资产出现错误404(未找到),javascript,html,ruby-on-rails,webpack,assets,Javascript,Html,Ruby On Rails,Webpack,Assets,我已经尝试了一个多星期,试图在版本6中的Rails应用程序中添加自定义模板。无论是在html中使用纱线还是直接引用,都找不到资源 GET net::ERR_中止404(未找到) 这些资产位于供应商文件夹中。请注意,文件夹中还有一个名为“供应商”的文件夹,因此这不是一个错误 我的application.js中有 require("@rails/ujs").start() require("turbolinks").start() require("@rails/activestorage").st
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("popper.js")
require("bootstrap")
require('vendors/js/vendor.bundle.base')
require('vendors/js/vendor.bundle.addons')
require('js/shared/off-canvas')
require('js/shared/misc')
我还尝试使用另一个模板,遵循资产管道最佳实践,但现在它的工作方式与此不同
My application.css是:
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
* vendor/assets/stylesheets directory can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
* files in this directory. Styles in this file should be added after the last require_* statement.
* It is generally better to create a new file per style scope.
*
*= require_tree .
*= require_self
*/
@import "vendors/iconfonts/mdi/css/materialdesignicons";
@import "vendors/iconfonts/ionicons/css/ionicons";
@import "vendors/iconfonts/typicons/src/font/typicons";
@import "vendors/iconfonts/flag-icon-css/css/flag-icon";
@import "vendors/css/vendor.bundle.base";
@import "vendors/css/vendor.bundle.addons";
@import "css/shared/style";
@import "css/demo_1/style";
但我也尝试过其他方法,使用require,正如我之前所说,直接在HTML中链接它,现在是这样的:
<!DOCTYPE html>
<html>
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>School</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_packs_with_chunks_tag 'application' %>
<link rel="shortcut icon" href="/images/favicon.png" />
</head>
<body>
...
学校
...
我已经运行了以下命令:
rails网页包:安装
rails资产:预编译
此外,我还更改了application.rb
config.service\u static\u assets=true
,但似乎没有任何效果,我总是得到一个没有主题的页面
Rails版本:6.0.2.1
Ruby版本:2.6.5p114(2019-10-01修订版67812)[x64-mingw32]
节点版本:v12.14.1
纱线版本:1.21.1
所以:Windows10
我不知道如何修复“未找到”错误。
您的application.js需要移动到另一个文件夹,以便webpacker能够使用它
app/javascript/packs/application.js由于某些原因,它改变了很多,并将资产直接移动到样式表和javascript/packs路径。至少对我来说,将供应商/资产或库/资产用于自定义资产已经行不通了。Tkx.fromRails6+webpacker将用于Javascript。很高兴我能帮忙。