Запускать сервер grunt с различными браузерами - программирование

Запускать сервер grunt с различными браузерами

Можно ли указать конкретный браузер (помимо ОС по умолчанию) в файле grunt или в командной строке? Например. "firewall сервера" или тому подобное. Мой браузер по умолчанию - Chrome, но я хочу проверить/развить свой сайт в нескольких браузерах. Я использую GruntJS внутри Yeoman.

Брайан

4b9b3361

Ответ 1

Быстрый ответ

В Gruntfile.js вы можете добавить параметр app:

open: {
  server: {
    url: 'http://localhost:<%= connect.options.port %>',
    app: 'firefox'
  }
},

Запрос Pull: https://github.com/jsoverson/grunt-open/pull/7

Commit: https://github.com/GabLeRoux/grunt-open/commit/6f2c7069767e58160ec96aaaa8fa20ed210ba183


Параметры командной строки

В строке приложения можно передать параметры командной строки, например app: "chromium-browser --incognito" - @bk11425

Ответ 2

Из документации grunt connect: https://github.com/gruntjs/grunt-contrib-connect

Вы можете использовать:

    open: {
        target: 'http://localhost:8000', // target url to open
        appName: 'open', // name of the app that opens, ie: open, start, xdg-open
        callback: function() {} // called when the app has opened
    }

то есть. appName: "Google Chrome"

Ответ 3

Задача сервера grunt не имеет ничего общего с браузером, он просто запускает статический сервер для подключения и предварительного просмотра вашего приложения. Теоретически вы можете использовать любой браузер, с которым хотите подключиться к http://localhost:8080/

Чтобы уточнить на основе комментария к плакату:

grunt-open - это другая задача, чем grunt-server: https://npmjs.org/package/grunt-open. grunt-open использует node-open, который по умолчанию использует задание по умолчанию open для darwin или start для win32: https://github.com/jjrdn/node-open#how-it-works

Итак, чтобы ответить, любое приложение, которое вы указали для открытия файлов .html (или что-то, что вы открываете), откроется с этой задачей.

Ответ 4

В то время как ответы здесь помогли исправить мое возникновение проблемы, как кто-то, кто не очень хорошо разбирался в хрюкании, мне было трудно понять, что именно , где я должен был поставить "open:" строфа в моем Gruntfile.js. Мне потребовалось три три попытки найти подходящее место (например, я попробовал прямо под "grunt.initConfig" и под "connect: options:" ни к чему)

Я использую Gruntfile.js как сгенерированный стандартный angular генератор йома.

Я отправляю туда, где я помещал его в этот файл, чтобы дать немного больше "контекста" для любого, кто находится в подобном затруднительном положении.

Вот соответствующий фрагмент файла Gruntfile.js:

// ...
The actual grunt server settings
connect: {
  options: {
    port: 9000,
    // Change this to '0.0.0.0' to access the server from outside.
    hostname: 'localhost',
    livereload: 35729
  },
  livereload: {
    options: {
      //open: true, <- original line, comment out
      // add this
      open: {
        //target: 'http://localhost:9000', <- this works too
        target: 'http://localhost:<%= connect.options.port %>',
        appName: 'firefox'
      },
      // end add
      middleware: function (connect) {
        return [
          connect.static('.tmp'),
          connect().use(
            '/bower_components',
            connect.static('./bower_components')
          ),
          connect().use(
            '/app/styles',
            connect.static('./app/styles')
          ),
          connect.static(appConfig.app)
        ];
      }
    }
  },
  test: {
//...