zoukankan      html  css  js  c++  java
  • laravel的elixir和gulp用来对前端施工

    使用laravel elixer

        npm install --global gulp  ok

        然后在安装好的laravel 下 npm install 以安装 laravel-elixir

        sublime 安装AdvancedNewFile 插件 使用ctrl+alt+n 输入路径方便新建文件(也可以手动,图方便)

    (具体使用)在gulpfile.js 里写

    var elixer = require('laravel-elixir');
    
    elixir(function(mix){
        mix.sass('app.scss');
    });


    然后命令行在此项目根目录下 gulp 自动编译开始了.
    会自动保存到public/css/app.css

    查找编译的路径和编译文件的路径以及其它编译选项
    在node_modules/laravel-elixer/Config.js

    可在这里更改,也可以(更好的方式)在gulpfile.js里重写覆盖
    如关闭生成sourcemap

    elixer.config.sourcemaps = false;
    多个文件合并到一个public/css/app.css下
    mix.sass(['xx.scss','bb.scss']);
    
    多个分别保存到不同地方
    mix.sass('app.scss','public/foo/bar/app.css')
       .sass('button.scss','bbb/aa/a.css');
    bbb...前不要加 / ,在项目根目录下生成bbb目录
    
    合并并保存到自定义路径
    mix.sass(['app.scss','button.scss'],'public/custom/');
    
    
    合并css 文件
    mix.styles(['sss.css','xxx.css'],'public/foo/bar/')
    
    指定合并的css文件的来源(通过传入的第三个参数指定)
    mix.styles(['sss.css','xxx.css'],'public/foo/bar','sources/css/');
    
    合并脚本则为(同样可以传入第三个参数指定来源)
    mix.styles(....);
    
    将指定文件改变版本并在页面正确引用  (main.css 变为 main-sdsk.css等防止被浏览器缓存)
    mix.sass(['app.scss','bbb.scss'])
       .version('css/app.css');
    
    页面引用时
    <link rel="stylesheet" href="{{ elixir('css/app.css') }}">
    
    note:
    version()内文件路径相对于在public/下 所以不用写public,变换版本后文件存在public/build/下
    version(['xxx.css','xxx.js']); .version()内可以使用数组 变换多个文件
    elixir()内文件路径相对于在public/build/下
    
    生成生产环境下的源代码
    gulp --production


       

    过程中遇到的问题:

    npm warn optional dep failed ,continuing fsevents@0.3.8
        再运行一次变成了 npm warn unmet dependency
        尝试npm cache clean 后再安装
        仍然warn unmet .... 于是跑到它的具体缺失模块下去安装 npm install
    
        参考 http://www.lellansin.com/npm-%E5%AE%89%E8%A3%85%E5%87%BA%E7%8E%B0-unmet-dependency-%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.html
        npm unmet dependency 的解释
        http://stackoverflow.com/questions/20764881/why-does-npm-install-say-i-have-unmet-dependencies
        依赖包解决方案有一点破坏,我可以尝试把 unmet的 包 装在首级
    
        使用npm list 或者npm list parseable=true
        检查 through2 由broswerfy要求^1.0.0以上 而目前版本是0.6.5
        npm update through2@^1.1.0 --save
        然后npm list 查看问题 再安装需要版本的 npm install browserify@11.0.1
        继续npm list 查看是否有问题

    参考: http://www.golaravel.com/laravel/docs/5.0/elixir/

  • 相关阅读:
    使用递归,计算斐波那契数列
    Javascript模块化编程 require.js使用详解
    逻辑很重要:一句sql语句的事,自己却想了半天,绕了个大弯子
    select options常用操作
    select 下拉菜单Option对象使用add(elements,index)方法动态添加
    $().change事件
    jQuery验证控件jquery.validate.js使用说明
    copy(source,destination)拷贝文件
    Linux常用命令
    纯js实现分页
  • 原文地址:https://www.cnblogs.com/isdom/p/webclips027.html
Copyright © 2011-2022 走看看