grunt contrib sass源映射启用
我无法在grunt中使用很多contrib sass功能。一天前我跳进了咕噜声,我发现它真的很好 链接到contrib sass repo,该公司表示sourcemaps应能正常工作: 注意:我有sass最新功能,如果我使用:grunt contrib sass源映射启用,sass,gruntjs,watch,no-cache,source-maps,Sass,Gruntjs,Watch,No Cache,Source Maps,我无法在grunt中使用很多contrib sass功能。一天前我跳进了咕噜声,我发现它真的很好 链接到contrib sass repo,该公司表示sourcemaps应能正常工作: 注意:我有sass最新功能,如果我使用:sass--watch--scss--sourcemap--no cache和google chrome canary sourcemaps以及sass样式表调试,这个功能就可以正常工作 这是我的Grunfile.js: module.exports = function
sass--watch--scss--sourcemap--no cache
和google chrome canary sourcemaps以及sass样式表调试,这个功能就可以正常工作
这是我的Grunfile.js:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd hh:mm:ss") %> */\n',
concat: {
options: {
separator: '\n// New file\n',
banner: '<%= banner %>'
},
develop: {
files: [
{ src: ['js/develop/plugins.js', 'js/develop/main.js'], dest: 'js/concDev.js' }
]
},
vendor: {
files: [
{ src: ['js/vendor/*.js', '!js/vendor/jquery-1.9.1.min.js', '!js/vendor/modernizr-2.6.2.min.js'], dest: 'js/concVend.js' }
]
}
},
uglify: {
options: {
banner: '<%= banner %>'
},
develop: {
files: [
{ src: ['<%= concat.develop.files[0].dest %>'], dest: 'js/concDev.min.js' }
]
},
vendor: {
files: [
{ src: ['<%= concat.vendor.files[0].dest %>'], dest: 'js/concVend.min.js' }
]
}
},
removelogging: {
dist: {
files: [
{ src: ['js/concDev.min.js'], dest: 'js/concDev.min.js' },
{ src: ['js/concVend.min.js'], dest: 'js/concVend.min.js' },
{ src: ['js/concDev.js'], dest: 'js/concDev.js' },
{ src: ['js/concVend.js'], dest: 'js/concVend.js' }
]
}
},
jshint: {
files: ['gruntfile.js', 'js/develop/*.js'],
options: {
globals: {
jQuery: true,
console: true,
module: true,
document: true
}
}
},
cssmin: {
compress: {
options: {
banner: '<%= banner %>'
},
files: [
{ src: ['css/main.css'], dest: 'css/main.min.css' }
]
}
},
imagemin: {
dynamic_mappings: {
files: [
{
expand: true,
cwd: 'img/',
src: ['**/*.png', '**/*.jpg'],
dest: 'img/',
ext: '.png'
}
]
}
},
sass: {
compressed: {
files: {
'css/main.css': 'css/develop/main.scss'
},
options: {
outputStyle: 'compressed'
}
},
nested: {
files: {
'css/main.css': 'css/develop/main.scss'
},
options: {
sourcemap: true,
outputStyle: 'nested'
}
}
},
rsync: {
deploy: {
src: "./",
dest: '<%= connection.dest %>', // i.e. "var/www"
host: '<%= connection.host %>', // i.e. "user@server.com"
recursive: true,
syncDest: false,
exclude: ["/node_modules", ".*"]
}
},
watch: {
options: {
livereload: true
},
html: {
files: '*.html'
},
js: {
files: ['js/develop/plugins.js', 'js/develop/main.js'],
tasks: ['jshint', 'concat:develop']
},
css: {
files: 'css/develop/main.scss',
tasks: ['sass:nested']
}
}
});
// Load Plugins
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks("grunt-remove-logging");
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-rsync');
// Task Lists
grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'imagemin', 'sass:nested']);
grunt.registerTask('server', ['watch']);
grunt.registerTask('deploy', ['sass:compressed', 'rsync' ]);
};
module.exports=函数(grunt){
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
横幅:'/*!*/\n',
康卡特:{
选项:{
分隔符:'\n//新文件\n',
横幅:“”
},
发展:{
档案:[
{src:['js/develop/plugins.js','js/develop/main.js',dest:'js/concDev.js'}
]
},
供应商:{
档案:[
{src:['js/vendor/*.js','!js/vendor/jquery-1.9.1.min.js','!js/vendor/modernizer-2.6.2.min.js'],dest:'js/concVend.js']
]
}
},
丑陋的:{
选项:{
横幅:“”
},
发展:{
档案:[
{src:[''],dest:'js/concDev.min.js'}
]
},
供应商:{
档案:[
{src:[''],dest:'js/concVend.min.js'}
]
}
},
重新记录:{
地区:{
档案:[
{src:['js/concDev.min.js'],dest:'js/concDev.min.js'},
{src:['js/concVend.min.js'],dest:'js/concVend.min.js'},
{src:['js/concDev.js'],dest:'js/concDev.js'},
{src:['js/concVend.js'],dest:'js/concVend.js'}
]
}
},
jshint:{
文件:['grunfile.js','js/develop/*.js'],
选项:{
全球:{
jQuery:true,
安慰:是的,
模块:正确,
文件:正确
}
}
},
cssmin:{
压缩:{
选项:{
横幅:“”
},
档案:[
{src:['css/main.css'],dest:'css/main.min.css'}
]
}
},
imagemin:{
动态映射:{
档案:[
{
是的,
cwd:“img/”,
src:['***.png','***.jpg'],
目标:“img/”,
分机:'.png'
}
]
}
},
sass:{
压缩:{
档案:{
“css/main.css”:“css/develop/main.scss”
},
选项:{
outputStyle:“压缩”
}
},
嵌套的:{
档案:{
“css/main.css”:“css/develop/main.scss”
},
选项:{
sourcemap:true,
outputStyle:“嵌套”
}
}
},
rsync:{
部署:{
src:“./”,
目标:'',即“var/www”
主机:“”,//即user@server.com"
是的,
syncDest:false,
排除:[“/node_模块”,“*”]
}
},
观察:{
选项:{
利弗雷罗德:没错
},
html:{
文件:'*.html'
},
js:{
文件:['js/develope/plugins.js','js/develope/main.js'],
任务:['jshint','concat:develope']
},
css:{
文件:“css/develop/main.scss”,
任务:['sass:nested']
}
}
});
//加载插件
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks(“grunt-contrib-watch”);
grunt.loadNpmTasks(“grunt-contrib-concat”);
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
loadNpmTasks(“grunt删除日志”);
grunt.loadNpmTasks(“grunt-sass”);
grunt.loadNpmTasks('grunt-rsync');
//任务列表
registerTask('default',['jshint','concat','uglify','imagemin','sass:nested']);
registerTask('server',['watch']);
registerTask('deploy',['sass:compressed','rsync']);
};
顺便说一句,正如我所说的,我对grunt完全陌生,如果你发现我的代码中有其他不好的做法,请让我知道。同样,对于ftfront-end工作来说,很好的插件名称总是受欢迎的,我看到有很多,只有faminial和一些contrib插件
注意:为什么很多sass选项都不起作用,例如:noCache、LineNumber、debugInfo、outputStyle:“compact”、“expanded”(压缩、嵌套)
~ae为了提供一个实际的答案,sass中还没有sourcemaps。他们正在阿尔法版本中工作。最初的问题引用了一条提交消息,该消息指出代码正在进行未来验证
截至2013年6月24日,sourcemaps在grunt contrib sass或grunt contrib compass中不可用。仅作为实际答案,sourcemaps在sass中尚不可用。他们正在阿尔法版本中工作。最初的问题引用了一条提交消息,该消息指出代码正在进行未来验证 截至2013年6月24日,源地图在grunt contrib sass或grunt contrib compass中不可用。截至今日(2013年7月10日): 如果您安装了sass的预版本
gem install sass --pre
和grunt contrib sass包,您的配置文件将允许生成sourcemaps
如果您使用指南针,请尝试使用sass任务配置块中的compass:true
选项,或从今天(2013年10月7日)起使用loadPath
:
如果您安装了sass的预版本
gem install sass --pre
和grunt contrib sass包,您的配置文件将允许生成sourcemaps
如果您使用compass,请尝试使用sass任务配置块中的
compass:true
选项或loadPath
我可以使用以下命令使其正常工作:*一个注意:地图文件没有被跟踪到任何地方,所以我没有意识到它是重写它,直到我删除了地图的版本,然后我注意到它正在写文件
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sass: {
dist: {
options: {
style: 'expanded',
debugInfo: true,
sourcemap: true
},
files: {
'styles/styles.css' : 'styles/sass/styles.scss'
}
},
},
watch: {
css: {
files: '**/*.scss',
tasks: ['sass'],
sourceComments: 'normal'
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default',['watch']);
}
我能够通过以下方式实现这一点:
*注意:地图文件在任何地方都没有被跟踪,所以我没有意识到它正在重写它
[...]
sass : {
dist : {
files : {
'example.css' : 'example.scss'
},
options: {
sourcemap: 'auto'
}
}
}
[...]