我刚刚在我的 Win8 机器上安装了 Grunt,运行['sass', 'autoprefixer', 'connect', 'watch']
任务以在浏览器中进行实时刷新和设计,没有任何问题。这些过程正在监视我的文件夹是否有变化,从 SCSS 编译到 CSS,刷新我的浏览器。
然后昨晚我重命名了磁盘上的目录-从c:\ruby-sass-susy
到c:\libsass-susy
。可悲的是,这破坏了我的设置:(
现在,当我运行我的默认设置时grunt
——它会启动服务器——第一次编译文件——并打开一个浏览器,让我的项目准备好按照它应该的方式进行。
但是现在更改和保存.scss
它不会编译任何东西。我在命令行看到的:
Running "watch" task
Waiting...
>> File "scss\00-config\_config.scss" changed.
但是没有编译发生,它不会创建我的global.css
和关联的地图文件,也没有任何活动。
我试过的:
npm uninstall <package>
对于每个相关的watch
,connect
和grunt-sass
包。npm install <package> --save-dev
在所有三个上,以干净地重新安装所有三个然后(当什么都没做时)我从一个新目录开始——使用我的
package.json
andbower.json
,我从头开始重新安装新目录中的所有依赖项,复制到Gruntfile
,然后再次运行它来测试
我在新目录中得到了相同的结果。发生了什么?现在问题是否在我的 Node 或 npm install 中更进一步?没有指向正确目录的东西?(对不起,我不是 Grunt 或 javascript 编程专家)
这是我的 Gruntfile —— 相关位,我省略了我没有默认运行的包:
~~~
// Gruntfile for LibSass - 03/26/15
module.exports = function(grunt) {
'use strict';
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Sass (grunt-sass)
sass: {
options: {
sourceMap: true, // Create source map
outputStyle: 'expanded' // Specify output
},
dist: {
files: [
{
expand: true, // Recursive
cwd: "scss", // The startup directory
src: ["**/*.scss"], // Source files
dest: "css", // Destination
ext: ".css" // File extension
}
]
}
},
// Autoprefixer
autoprefixer: {
options: {
browsers: ['last 2 versions'],
map: true // Update source map (creates one if it can't find an existing map)
},
// Prefix all files
multiple_files: {
src: 'css/**/*.css'
},
},
// Grunt connect (server)
connect: {
server: {
options: {
livereload: 1337,
port: 9001,
base: '',
open: {
target: 'http://localhost:9001/',
}
}
},
},
// Watch!
watch: {
sass: {
files: ['scss/**/*.{scss,sass}'],
},
livereload: {
files: ['*.html', '*.php', 'img/**/*.{png,jpg,jpeg,gif,webp,svg}'],
options: {
livereload: true,
},
},
}
});
// Default Sass Server
grunt.registerTask('default', ['sass', 'autoprefixer', 'connect', 'watch']);
};