禁用LiveReload与约曼(Disable LiveReload with Yeoman)

2019-09-23 22:58发布

当IE8测试,LiveReload抛出不支持,因为网络套接字错误。 是否存在一种配置自耕农禁用LiveReload的方法吗?

Answer 1:

IE8不支持约曼,有很好的理由。

但是,你可以做什么艾伦介绍,或者你可以覆盖server任务,通过把这个在您的Gruntfile:

grunt.registerTask('server', 'yeoman-server');


Answer 2:

尝试使用<!--[if !IE]><!--></body><!--<![endif]--><!--[if IE]></body><!--<![endif]-->而不是</body>

发电机将尝试更换第一</body>元件和前其添加livereload片断,所以代码将被放置在不可见的IE的空间。

PS它`肮脏的黑客所以carefuly使用



Answer 3:

把这个在您的Gruntfile:

grunt.registerHelper('reload:inject', function () {
  return function inject(req, res, next) {
      return next();
  }});


Answer 4:

是的,有一个我知道的。

  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'
  }
}

我想我已经看到了一个命令行标志,但我无法找到它。



Answer 5:

约曼Livereload由两个部分组成:即插入livereload片段中间件,并在手表任务livereload目标。 要禁用livereload,同时删除:

Livereload在Gruntfile顶部片段:

// 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));
};

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)
        ];
      }
    }

有关固定在约曼的livereload-连接问题的更新,跟踪此问题: https://github.com/yeoman/generator-webapp/issues/63



文章来源: Disable LiveReload with Yeoman