Как я могу настроить маршрут в Gruntfile.js? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь добавить маршрут для запуска AngularJS $stateProvider.В настоящее время, если я использую http://localhost:8080/external-login, сервер возвращает "Cannot GET / external-login" .Если я использую http://localhost:8080#external-login, $stateProvider подхватывает это и использует правильный контроллер.Я хотел бы иметь возможность настроить правило перезаписи маршрута или URL-адреса для принудительного использования хеш-символа.

До сих пор я пытался использовать connect-modrewrite и grunt-connect-route с небольшим успехом.

Вот текущие настройки подключения без изменений:

// The actual grunt server settings
    connect: {
      options: {
        port: 8080,
        // Change this to '0.0.0.0' to access the server from outside.
        hostname: 'localhost',
        livereload: 35730
      },
      livereload: {
        options: {
          open: true,
          middleware: function (connect) {
            return [
              connect.static('<%= yeoman.tmp %>'),
              connect().use(
                '/bower_components',
                connect.static('./bower_components')
              ),
              connect().use(
                '/app/styles',
                connect.static('./app/styles')
              ),
              connect.static(appConfig.app)
            ];
          }
        }
      },

Сначала я попытался добавить var modRewrite = require('connect-modrewrite');, а затем добавил это в раздел middleware:

             connect().use(
                modRewrite(
                  [
                    '^\/external-login\(.*)$ /index.html\#external-login/$1 - [L]'
                  ])),

Это почти сработало, но побочным эффектом было то, что приложение не загружалось и не работало должным образом.

Затем я удалил его и попытался добавить grunt.loadNpmTasks('grunt-connect-route');, а затем правила в разделе options:

      rules: {
        '^/external-login$': '/index.html/#external-login'
      },

Как указано выше, я хотел бы настроить Gruntfile.js, чтобы понять, как маршрутизировать приложение, чтобы приложение могло направлять браузер на нужный контроллер.

...