Как запустить угловую сборку в рамках golang revel

У меня есть один файл сборки angular в общей папке в приложении Revel. Я хочу запустить эти файлы html и js в приложении revel.

GET     /   Static.Serve("public")

Я дал приведенный выше код в файле маршрутов. Когда я пытаюсь в браузере, он показывает «Список запрещенных каталогов не разрешен»


person Nivin    schedule 07.02.2020    source источник


Ответы (2)


добавьте эти две строки в файл маршрутов. Здесь весь запрос GET будет перемещен в функцию индекса контроллера приложения.

GET     /                                       App.Index
GET     /*                                      App.Index

добавьте приведенный ниже код в файл контроллера приложения.

func (c App) Index() revel.Result {
    dir, doc := path.Split(c.Request.URL.Path)
    ext := filepath.Ext(doc)
    if doc == "" || ext == "" {
        return c.RenderFileName("./public/index.html", "inline")
    } else {
        if _, err := os.Stat("./public/" + path.Join(dir, doc)); err != nil {
            return c.RenderFileName("./public/index.html", "inline")
        }
        return c.RenderFileName("./public/" + path.Join(dir, doc), "inline")
    }
}
person Dulquer    schedule 12.02.2020

Ничего страшного, ты был близок

GET         /                       Static.Serve("public/index.html")

Тогда ваши угловые должны делать свою работу.

person Jean-Jacques MOIROUX    schedule 10.02.2020
comment
GET/Static.Serve(public/index.html) я дал так. Затем он загрузит все файлы html. Но если я обновляю браузер, он показывает ошибку «Файл не найден». - person Nivin; 11.02.2020
comment
Честно говоря, сам я не буду помещать angular-cli в ваш проект golang. если вы можете, лучше иметь два бэкэнда проекта и еще один для внешнего интерфейса позже на NGinx, например, бэкэнд / интерфейс API / * Тогда вы можете легко решить будущие проблемы, которые у вас возникнут, смешивая оба. Теперь, если вы сохраните внешний интерфейс для своего проекта golang, у вас есть проблемы, потому что ваш маршрутизатор angular-cli будет перехватывать запрос до Revel - person Jean-Jacques MOIROUX; 11.02.2020