0

GruntJS 新手在这里。我目前有我的 gruntfile.js 使用该watch任务来查找对我文件夹中任何 .js 文件的更改js/components/并将这些脚本 uglify 到一个script.js文件中。

我遇到的问题是这些更改会导致整个页面重新加载。

是否可以只重新加载script.js文件而不重新加载 HTML/CSS?我追求的效果与我目前使用 SASS/CSS 文件获得的效果相同,如下所示:

watch : {
            options: { livereload: true },

            sass: {
                options: {
                    livereload: false
                },
                files: ['css/sass/*.scss'], 
                tasks: ['compass:dev']
            },

            css: {
                files: ['css/*.css']
            }

        } 

这只会重新加载我的 CSS 而不会重新加载整个页面,这使得工作流程更加顺畅。JS可以做同样的事情吗?如果不是,为什么不呢?我当前的 JS 工作流配置如下所示:

grunt.initConfig({

        uglify: {
            my_target: {
                files: {
                    'js/script.js' : ['js/components/*.js']
                } 
            } 
        },  
        watch : {
            options: { livereload: true },
            scripts: {
                files: ['js/components/*.js'], 
                tasks: ['uglify']
            }

        } 

}); 
4

1 回答 1

0

在阅读了一遍之后,我终于找到了livereload.js Github 页面。在开发者对项目当前状态的总结下,“Live JS reloading”是剩下的一个待办事项。所以这是一个计划中的功能,但尚未实施。该项目的最后一次提交是 7 个月前,所以我不确定我们何时/是否可以预期此更新。

于 2013-11-13T07:57:00.710 回答