6

IE8 でテストすると、Web ソケットがサポートされていないため、LiveReload はエラーをスローします。LiveReload を無効にするように yeoman を構成する方法はありますか?

4

5 に答える 5

4

<!--[if !IE]><!--></body><!--<![endif]--><!--[if IE]></body><!--<![endif]-->の代わりに使用してみてください</body>

ジェネレーターは最初の</body>要素を置き換え、その前に livereload スニペットを追加しようとするため、コードは IE スペースの非表示に配置されます。

PSそれは汚いハックなので、これを慎重に使用してください

于 2014-01-31T12:07:30.530 に答える
4

正当な理由により、IE8 は Yeoman によってサポートされていません。

serverただし、これを Gruntfile に入れることで、Allan が説明することを実行したり、タスクをオーバーライドしたりできます。

grunt.registerTask('server', 'yeoman-server');
于 2012-11-08T15:20:02.813 に答える
3

これを Gruntfile に入れます。

grunt.registerHelper('reload:inject', function () {
  return function inject(req, res, next) {
      return next();
  }});
于 2012-12-30T00:01:16.660 に答える
1

はい、私が知っている人がいます。

  1. プロジェクト フォルダに移動し、ファイルを見つけますGruntfile.js
  2. エディターでファイルを開く
  3. インを削除reload:しますwatch:

次のようになります。

// default watch configuration
watch: {
  coffee: {
    files: 'app/scripts/**/*.coffee',
    tasks: 'coffee reload'
  },
  compass: {
    files: [
      'app/styles/**/*.{scss,sass}'
    ],
    tasks: 'compass reload'
  },
  reload: {
    files: [
      'app/*.html',
      'app/styles/**/*.css',
      'app/scripts/**/*.js',
      'app/images/**/*'
    ],
    tasks: 'reload'
  }
}

そして、あなたがそれを削除した後、次のようになります:

// default watch configuration
watch: {
  coffee: {
    files: 'app/scripts/**/*.coffee',
    tasks: 'coffee reload'
  },
  compass: {
    files: [
      'app/styles/**/*.{scss,sass}'
    ],
    tasks: 'compass reload'
  }
}

コマンドライン フラグを見たことがあると思いますが、見つけることができませんでした。

于 2012-10-24T14:00:48.157 に答える
0

Yeoman Livereload は、livereload スニペットを挿入するミドルウェアと、watch タスクの livereload ターゲットの 2 つの部分で構成されます。livereload を無効にするには、両方を削除します。

Gruntfile の上部にある livereload スニペット:

// Generated on ...
'use strict';
var LIVERELOAD_PORT = 35729; // <- Delete this
var lrSnippet = require('connect-livereload')({port: LIVERELOAD_PORT}); // <- Delete this
var mountFolder = function (connect, dir) {
  return connect.static(require('path').resolve(dir));
};

Watch で Livereload タスク:

watch: {
  // Delete this target 
  livereload: {
    options: {
      livereload: LIVERELOAD_PORT
    },
    files: [
       //...
    ]
  }
}

スニペットを挿入するミドルウェア:

connect: {
  options: {
    port: 9000,
    hostname: 'localhost'
  },
  livereload: {
    options: {
      middleware: function (connect) {
        return [
          lrSnippet, // <- Delete this middleware
          mountFolder(connect, '.tmp'),
          mountFolder(connect, yeomanConfig.app)
        ];
      }
    }

Yeoman での livereload-connect の問題の修正に関する最新情報については、この問題を追跡してください: https://github.com/yeoman/generator-webapp/issues/63

于 2013-06-01T04:19:20.077 に答える