• 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/

  • 相关阅读:
    datatable转mode方法
    UVA10652 Board Wrapping (二维凸包+多边形面积)
    洛谷P3175 [HAOI2015]按位或 (min-max容斥 + 高维前缀和)
    icpc2020沈阳 M (fwt+高维前缀和)
    icpc2019 香港 H. Hold the Line (离线+线段树+单调队列)
    icpc2019 香港 C. Constructing Ranches (点分治)
    点分治模板
    slope trick 待填
    codeforces 713 C. Sonya and Problem Wihtout a Legend (dp(n^2)/slope trick (nlogn))
    icpc2020澳门 I. Nim Cheater (轻重链剖分优化dp空间复杂度)
  • 原文地址:https://www.cnblogs.com/isdom/p/webclips027.html
Copyright © 2020-2023  润新知