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/

你可能感兴趣的:(laravel的elixir和gulp用来对前端施工)