我的前端工作流

这里分享一下我的工作流。

Bower

一个包管理器

项目需要用到 bootstrap,angularjs,jquery等等的东西,每次要下载就打开百度然后进入官网找对应版本下载?
no,这里可以更方便。

首先通过npm安装Bower,然后配置项目,完成后,只要 bower install jquery 即可自动安装到项目中来。

Grunt

JavaScript 世界的构建工具

用到的插件

concat

用来合并文件,我基本都是用来对js文件进行合并。

concat: {
    options: {
        sourceMap: true
    },
    angular: {
        src: [
            'src/js/app.js',
            'src/js/**/*.js'
        ],
        dest: 'public/js/views/app.js'
    }
},

less

自从使用了less,再也不想写css了,因为多层选择器实在是蛋疼。

less: {
    main: {
        options: {
            // 严格的数字模式,当启用的时候,数字需要使用括号。
            strictMath: true,
            // 启用 source map
            sourceMap: true,
            // 直接将源文件写入map文件中,而不是引用
            // outputSourceFiles: true,
            // 指定 source map 路径
            sourceMapURL: '<%= pkg.name %>.css.map',
        },
        src: 'src/less/<%= pkg.name %>.less',
        dest: 'public/css/<%= pkg.name %>.css'
    }
},

这个我就不介绍了,如果你不知道,哦No。。
只是这里要注意一点,就是调试的时候,如果只用css文件是很难调试的,因为代码都在less文件里呢,所以一定要开启source map选项,这样就能方便的在浏览器里定位到源代码的位置。
听说好像只有chrome支持。

autoprefixer

这是一个非常棒的插件,可以自动帮你补充浏览器的兼容样式。

autoprefixer: {
    options:{
        // 自动更新 sourcemap 
        map:true
    },
    your_target: {
        src:'public/css/app.pre.css',
        dest:'public/css/app.css' 
    },
},

大家都知道,有些css属性在不同的浏览器上是需要加特定前缀的。
比如这样一个样式。

.a{
    display:flex;
}

为了达到最好的兼容效果,你可能需要写成这样

.a{
    display:-webkit-flex;
    display:-moz-box;
    display:-ms-flexbox;
    display:flex;
}

这个插件就是帮我们做这些处理的,让你只需要专注于css本身而不需要考虑兼容写法。

watch

监听文件状态,当指定文件被更改时,可以触发指定任务。

watch: {
    scripts: {
        files: 'src/js/**/*.js',
        tasks: ['concat:angular']
    },
    styles: {
        files: 'src/less/**/*.less',
        tasks: ['less','autoprefixer']
    }
},

browserSync

自动同步刷新浏览器。

browserSync: {
   dev: {
       bsFiles: {
           src: [
            'public/css/*.css',
            'public/html/*.html'
           ]
       },
       options: {
           proxy: 'localhost:3001',
           port: 3001,
           browser: 'google chrome',
           watchTask: true,
       }
   }
},

常常是这样,我们每做完一次更改(.css,.html,*.js)等等,想去浏览器看看效果,不得不打开浏览器点一下刷新按钮。

自从拥有了它!!解放你的双手!!
自动检测文件的更改,自动刷新浏览器!!
效率提高40%有木有!!


我习惯这样用
主要是watch任务

监听.less文件,
然后通过 less 编译成 *.pre.css ,
然后再通过 autoprefixer 编译成 *.css 文件,
最终我们使用 *.css 文件即可。

监听.js文件(src目录),
然后通过concat合并成一个js文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值