亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

grunt如何自動編譯scss文件(sass+compass+grunt)框架

grunt自动编译scss文件,压缩图片,js。

首先按照如下结构来创建目录。
创建目录
    statics
    |------monkey
    |------__src
    |------|------css sass源码文件
    |------|------image 图片源文件夹
    |------|------js 脚本源码文件
    |------css 项目引用文件地址,里面为压缩文件
    |------js 生成压缩文件夹
    |------image 生成压缩后文件夹,用于线上
安装软件ruby sass compass nodejs

1.安装ruby
地址:http://www.rubyinstaller.org/downloads/
2.安装sass(gem命令需要修改源地址,详情搜索gem 国内源)
命令:gem install sass
查询版本:sass -v
3.安装compass
命令:gem install compass
查询版本:compass -v
4.安装node.js
地址:http://www.nodejs.org/
5.安装grunt(npm命令需要修改源地址,详情搜索npm 国内源)
局部安装命令:npm install grunt-cli (局部安装则,需要进入statics的目录下面执行)
全局安装命令:npm install grunt-cli -g

创建package.json和Gruntfile.js
{
 "name": "grunt-sample",
 "version": "1.0.0",
 "devDependencies": {
 "grunt": "*",
 "grunt-contrib-uglify": "~0.2.7",
 "grunt-contrib-imagemin": "~0.4.0",
 "grunt-contrib-compass": "*",
 "grunt-contrib-watch": "*"
 }
}
module.exports = function(grunt) {
 // 项目配置
 grunt.initConfig({
 pkg: grunt.file.readJSON('package.json'),
 uglify: {//js压缩
 options: {
 ASCIIOnly: true
 },
 files: {
 expand: true,
 cwd: '__src/js', //批匹配相对lib目录的src来源
 src: '**/*.js', //实际的匹配模式
 dest: 'js' //目标路径前缀
 }
 },
 imagemin: {//图片压缩
 options: {
 optimizationLevel: 7
 },
 files: {
 expand: true,
 cwd: '__src/images',
 src: '**/*.{png,jpg,gif}',
 dest: 'images'
 }
 },
 compass: {
 dist: {
 options: {
 sassDir: '__src/css',
 cssDir: 'css',
 imagesDir: '__src/images/', //图片目录
 httpPath: '',
 httpImagesPath: '/images/',
 environment: 'production',
 // outputStyle: 'compressed', 'nested', 'expanded', 'compact'
 outputStyle: 'expanded'
 }
 }
 },
 watch: {
 uglify: {
 files: ['__src/js/**/*.js'],
 tasks: ['uglify']
 },
 imagemin: {
 files: ['__src/images/**/*.{png,jpg,gif}'],
 tasks: ['imagemin']
 },
 compass: {
 files: ['__src/css/**/*.scss'],
 tasks: ['compass']
 }
 }
 });

 // 加载提供"uglify"任务的插件
 grunt.loadNpmTasks('grunt-contrib-uglify');
 grunt.loadNpmTasks('grunt-contrib-imagemin');
 grunt.loadNpmTasks('grunt-contrib-compass');
 grunt.loadNpmTasks('grunt-contrib-watch');

 // 默认任务
 grunt.registerTask('default', ['uglify', 'imagemin', 'compass']);
}
开始安装node模块

进入statics目录

npm install #有看到sceecssfully的字眼则安装成功
grunt watch #(提示如如下图)恭喜你sass+compass+grunt自动编译成功。
#提示如果修改了__src目录下的scss,js,img的文件grunt自动编译的话,可以用grunt来手动编译以下,后在grunt watch

我的个人博客
我的it心得

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
4
獲贊與收藏
56

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消