Articles of livereload

热点推送NodeJS

我一直在试图找出Node.js上的“Hot Code Push”。 基本上,我的主文件(在键入node app.js时运行)包含一些设置,configuration和初始化。 在那个文件中,我有一个文件观察者,使用chokidar。 当我添加文件时,我只require该文件。 如果一个文件已被更改或更新,我会删除cachingdelete require.cache[path] ,然后重新要求它。 所有这些模块都不会导出任何内容,只能用于单个全局Storm对象。 Storm.watch = function() { var chokidar, directories, self = this; chokidar = require('chokidar'); directories = ['server/', 'app/server', 'app/server/config', 'public']; clientPath = new RegExp(_.regexpEscape(path.join('app', 'client'))); watcher = chokidar.watch(directories, { ignored: function(_path) { if (_path.match(/\./)) { !_path.match(/\.(js|coffee|iced|styl)$/); } else { !_path.match(/(app|config|public)/); } }, persistent: true }); […]

错误的CSSpath – 与Grunt Live Reload问题

我在我的Gruntfile.js中有这个设置 module.exports = function(grunt) { grunt.initConfig({ less: { development: { options: { compress: false, yuicompress: false, optimization: 0 }, files: { // target.css file: source.less file "assets/css/main.css": "assets/css/main.less" }, } }, watch: { styles: { // Which files to watch (all .less files recursively in the less directory) files: ['assets/css/*.less', 'assets/less/*.less'], tasks: ['less'], }, // […]

Grunt:致命错误:观看EPERM

你可以在这里查看/克隆完整的代码: https : //github.com/mlewisTW/grunt-tests 我想看看 src目录(缩小,concat,less等),它把一切都放到build目录。 我也想看看生成目录,以便生活。 这是手表configuration代码片段: watch: { options: { livereload: false }, build: { files: ['<%= srcDir %>/**/*'], tasks: 'build' }, reload: { files: ['<%= buildDir %>/**/*'], options: { livereload: true } } }, 我在Windows 8上。我遇到了一个Fatal error: watch EPERM当我更改文件时Fatal error: watch EPERM ,并开始build任务的第一步(清理)。 我猜这与我试图删除一个观察目录的事实有关。 有什么方法可以在构build时closureslivereload watch任务,然后在完成时重新启动它? 有另外一个/更好的方法来做到这一点?

Grunt使用node.js应用程序进行livereload

我已经在Node.js(用Express&socket.io)编写了一个应用程序, 我想用Grunt在开发和连接到Node.js应用程序时使用livereload编译我的客户端的东西。 我怎样才能做到这一点? (最好不要在另一个端口运行Node.js应用程序,另一个端口运行客户端,因为path和跨域问题) 我也安装了Yeoman,它使用了开箱即用的grunt-contrib-livereload软件包,但是据我所知,它使用Node.js Connect服务器来提供客户端文件,从而与Node.js应用程序分离。 来自Yeoman生成的Gruntfile.js的示例: var lrSnippet = require('grunt-contrib-livereload/lib/utils').livereloadSnippet; var mountFolder = function (connect, dir) { return connect.static(require('path').resolve(dir)); }; // … cut some parts grunt.initConfig({ watch: { livereload: { files: [ '<%= yeoman.app %>/*/*.html', '{.tmp,<%= yeoman.app %>}/styles/*.css', '{.tmp,<%= yeoman.app %>}/scripts/*.js', '<%= yeoman.app %>/images/*.{png,jpg,jpeg}' ], tasks: ['livereload'] } // ..cut some parts }, connect: […]