我有一个使用webpack插件制作的ServiceWorker,该插件可通过http://example.com/packs/sw.js
URL公开使用。由于我希望此服务工作者控制整个网站,我需要从http://example.com/
提供服务。所以,没有redirect_to
允许
我如何为此设置routes.rb
?
我尝试过的是:
已添加:get '/sw' => 'sw#show'
至routes.rb
创建控制器sw_controller.rb
:
require 'net/http'
class SwController < ActionController::Base
def show
respond_to do |format|
format.all {
uri = URI('http://example.com/packs/sw.js')
res = Net::HTTP.get(uri)
render inline: res
}
end
end
end
我知道这很丑,但应该工作:
http://example.com/sw.js
后会发出No route matches [GET] "/sw.js"
http://example.com/packs/sw.js
正确打印出服务工作者http://example.com/sw
正确打印出服务工作者http://example.com/sw.lol
打印服务工作者答案 0 :(得分:1)
在 config / initializers / mime_types.rb 中尝试添加:
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install
这应允许Mime::Type.register "text/javascript", :js
识别Javascript请求,否则将忽略该请求。
来源:http://api.rubyonrails.org/classes/ActionController/MimeResponds.html