6. 管理你的css和js文件 - 从零开始学Laravel

从零学Laravel目录列表

在Laravel中我们可以直接将css和js文件放在app/public目录下,不过在正式项目开发中我们可能会使用Sass, Less, Stylus,Browserify等css和js预处理器,而laravel自带的基于gulp任务的Laravel Elixir都能支持它们。

到这里,我们已经比较熟悉的知道了最简单的开发流程,在route.php编写路由,路由会指向到一个控制器类中的一个方法,在这个方法中,加载对应的视图和传递数据给视图,视图层在继承layout.balde.php文件。就是那么的简单。

我们现在来打开layout.balde.php文件,修改里面的内容如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>布局文件</title>
    <link rel="stylesheet" href="/css/style.css">

    @yield('header')
</head>
<body>

    @yield('content')

    @yield('footer')
</body>
</html>

上面文件的我们加了一句导入css的代码<link rel="stylesheet" href="/css/style.css">,我们在app/public下建立css/style.css的css文件,我们给body标签加个粉色背景,如下:

Laravel css文件

效果如下:


pink

如果要加载js文件,那也是相同的做法.

上面我们说过正式开发项目的时候,都会使用下Sass,Less,Stylus这些预处理器,我们看下在Laravel中怎么使用它们.

我们打开项目根目录下的gulpfile.js,看里面的这段脚本:

elixir(function(mix) {
    mix.sass('app.sass');  // laravel默认写的是app.scss,我比较喜欢写成app.sass,这里我改过来了
});

laravel自带的elixir能让我们很轻易的就能使用sass,less了,比如你要用sass,laravel默认已经帮我们写好了,如果你要用less呢,那只要这么写就行

elixir(function(mix) {
    mix.less('app.less');
});

在根目录下还有一个package.json的文件,我们需要通过npm来安装这些依赖,首先你要保证你的电脑上已经安装了node,我们可以使用node -v来看一下:

➜ node -v    
v7.0.0

➜ npm -v     
3.10.8

如果你还没有安装node, 那么在mac系统中你可以简单的使用brew install node来安装它,或者你也可以访问node的官网查看下怎么安装。

安装完node后,我们来安装下依赖,我们知道安装php的包依赖我们用composer install, 那安装node的依赖也是相同的道理,使用npm install即可

➜  cd /usr/local/var/www/Laravel52 # 进入项目的根目录
➜  npm install  # 安装node依赖包

上面可能的安装可能需要个几分钟,安装完成后,这些第三方包都会被放置在项目根目录下的node_modules中。因为这些第三方包我们在开发的时候是不能去更改它们的代码的,所以没有必要放置在sublime编辑器中,我们可以忽略显示它。在sublime中按住command + ,(逗号)调出sublime的配置文件,然后将下面这些内容放到配置文件中:

    "folder_exclude_patterns":
    [
        "node_modules",
        "vendor",
    ],

保存即可:


sublime 配置文件

我们的app.sass文件在resources/assets/sass中,我们在app.sass中写点测试代码:

$color: blue
body
    color: $color

我们执行下gulp,刚才我忘记将gulp进行全局安装了,我们先安装下:

npm install -g gulp

在项目根目录执行gulp

➜ gulp
[14:43:33] Using gulpfile /usr/local/var/www/Laravel52/gulpfile.js
[14:43:33] Starting 'default'...
[14:43:33] Starting 'sass'...

Fetching Sass Source Files...
   - resources/assets/sass/app.sass  


Saving To...
   - public/css/app.css  #这里是编译好的css路径

[14:43:35] Finished 'default' after 1.6 s
[14:43:35] gulp-notify: [Laravel Elixir] Sass Compiled!
[14:43:35] Finished 'sass' after 1.76 s

编译好的app.css文件会放置在public/css/路径中, 如下:

编译好的app.css

上面的css没有经过压缩,发布上线的时候需要压缩下,我们可以用gulp --production来执行,执行后的app.css内的代码会变压缩成这样:

body{color:blue}

如果想给编译号的文件加上版本号,将gulpfile.js的内容这么修改一下:

elixir(function(mix) {
    mix.sass('app.sass').version('css/app.css');
});

从新gulp后,在public/build/css看到文件名变成类似app-edd03786db.css这样了。

下面我们将layout.blade.php中换上我们现在的css路径:

<link rel="stylesheet" href="{{ elixir('css/app.css') }}">

ok,这样就可以了,大家自己去运行一下。

如果是在做前端开发的时候,想要时时的编译css和js,那可以使用

gulp watch

当你修改代码保存的时候就会自动编译一下。

好的,本节就到这里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 5,429评论 1 32
  • gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学...
    井皮皮阅读 1,291评论 0 10
  • gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学...
    依依玖玥阅读 3,147评论 7 55
  • 安装Gulp首先需要安装Node.js,并在控制台输入$ npm install gulp -gMac端需要写成$...
    LaBaby_阅读 909评论 0 1
  • gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学...
    小裁缝sun阅读 921评论 0 3