Я делаю небольшой автономный сервис на Go. Для пользовательского интерфейса требуется несколько библиотек JS, поэтому я решил, что для обслуживания файлов JS из node_modules
я бы использовал
http.FileServer
router := chi.NewRouter()
router.Use(middleware.RequestID)
router.Use(middleware.RealIP)
router.Use(middleware.Logger)
router.Use(middleware.Recoverer)
router.Use(middleware.Timeout(60 * time.Second))
router.Get("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, "index.html")
})
router.Get("/node_modules/", func(w http.ResponseWriter, r *http.Request) {
http.StripPrefix("/node_modules/", http.FileServer(http.Dir("node_modules")))
})
... more routes added here for the API ...
listen = ":8080"
log.Infof("listening on %s", listen)
http.ListenAndServe(listen, router)
Когда я пытаюсь сделать
<script src="node_modules/jquery/dist/jquery.min.js"></script>
В моем пользовательском интерфейсе я получаю 404. Каталог node_modules находится там, и файл существует. Что я делаю не так?