Apache 它说:";“运行监视任务”;及;等待……”;,但是,除非我编辑的文件是Gruntfile本身,否则watch永远不会运行
我在一个新的Laravel项目中使用Grunt时遇到问题。目前,我似乎无法正确配置/运行grunt contrib watch 目录结构:Apache 它说:";“运行监视任务”;及;等待……”;,但是,除非我编辑的文件是Gruntfile本身,否则watch永远不会运行,apache,laravel-4,gruntjs,grunt-contrib-watch,Apache,Laravel 4,Gruntjs,Grunt Contrib Watch,我在一个新的Laravel项目中使用Grunt时遇到问题。目前,我似乎无法正确配置/运行grunt contrib watch 目录结构: |-- app |-- node_modules |-- Gruntfile.js |-- package.json |-- public |---- bower_components |---- css |------ dist |------ header.css |---- js |------ dist |------ app.js 我的Larav
|-- app
|-- node_modules
|-- Gruntfile.js
|-- package.json
|-- public
|---- bower_components
|---- css
|------ dist
|------ header.css
|---- js
|------ dist
|------ app.js
我的Laravel项目设置用于从app/config/View.php中的公用文件夹中查找视图文件:
'paths' => array(__DIR__.'/../../public'),
安装了Laravel,安装了Apache,我正在尝试使用Grunt测试重新加载更改。每当我运行grunt时,它都会显示“Running watch task”和“Waiting…”,但是,除非我编辑的文件是GrunFile本身,否则watch不会显示为运行
这是我的Grunfile文件:
module.exports = function(grunt) {
/* Config for Project */
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
cssmin: {
dist: {
src: 'public/css/*.css',
dest: 'css/dist/main.min.css'
}
},
uglify: {
dist: {
src: ['public/js/*.js'],
dest: 'js/dist/app.min.js'
}
},
watch: {
js: {
files: ['**/*.js'],
tasks: ['uglify'],
options: {
reload: true
}
},
css: {
files: ['**/*.css'],
tasks: ['cssmin'],
options: {
reload: true
}
}
}
});
grunt.event.on('watch', function(action, filepath, target) {
grunt.log.writeln(target + ': ' + filepath + ' has ' + action);
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-uglify');
// grunt.registerTask('buildcss', ['sass', 'cssc', 'cssmin']);
grunt.registerTask('default', ['watch',]);
};
有没有人知道我配置错了什么/为什么watch没有运行?你的咕噜声:watch任务正在做你让它做的事情。下面是任务注释
watch: {
// this means, whenever a .js file changes, run "grunt uglify"
js: {
files: ['**/*.js'],
tasks: ['uglify'],
options: {
reload: true
}
},
// this means, whenever a .css file changes, run "grunt cssmin"
css: {
files: ['**/*.css'],
tasks: ['cssmin'],
options: {
reload: true
}
}
}
编译不会减少,因为您没有告诉grunt:watch
在文件更改时编译更少的文件
您需要另一个插件来编译less文件,检查并配置该插件任务,然后添加一个新的grunt:watch
指令,该指令应该类似于:
less: {
// this means, whenever a .less file changes, run 'grunt less'
files: ['**/*.less'],
tasks: ['less']
}
希望这有帮助谢谢您的回答。:)是的,这至少是我希望这些任务做的。我所遇到的问题是watch运行:watch似乎只在我更改Grunfile时运行,但在public/css或public/js.hmmm中更改任何文件时都不会运行,这很奇怪。。您的配置没有问题,我看到您尝试使用
reload:true
和添加捕获watch
上的事件来调试它。。尝试删除所有这些,并测试指向单个js文件的GrunFile,类似于文件:['path/simple.js']
并运行grunt-d-v watch
它将为我们提供有关任务的更多信息