[ Laravel 5.3 文档 ] JavaScript & CSS —— 起步

   2016-09-09 0
核心提示:1、简介Laravel并不强制你使用什么JavaScript或者CSS预处理器,不过也确实提供了对很多应用都很有用的Bootstrap和Vue的一些基本使用。默认情况下,Laravel使用NPM来安装这些前端包。CSSLaravelElixir提供了干净的、优雅的API用于编译SAAS或Less,SAAS和Less都

1、简介

Laravel并不强制你使用什么JavaScript或者CSS预处理器,不过也确实提供了对很多应用都很有用的 BootstrapVue 的一些基本使用。默认情况下,Laravel使用 NPM 来安装这些前端包。

CSS

LaravelElixir提供了干净的、优雅的API用于编译SAAS或Less,SAAS和Less都是在原生CSS的基础上新增了变量、混合(MixIn)以及其它强大的功能特性,从而让我们在使用CSS的时候更加享受。

在本文档中,我们会简要讨论CSS的编译,不过,你最好参考完整的Laravel Elixir文档了解更多SAAS或Less的编译细节。

JavaScript

Laravel并不强制你使用指定的JavaScript框架或库来构建应用,事实上,你也可以完全不使用JavaScript,不过,Laravel还是引入了一些基本的脚手架:使用Vue库让我们更轻松地编写现代JavaScript。Vue提供了优雅的API让我们可以通过组件构建强大的JavaScript应用。

2、编写CSS

Laravel应用根目录下的 package.json 文件包含了 bootstrap-sass 扩展包以便我们使用Bootstrap构建前端原型,不过,你也可以按照自己应用的需要来增删 package.json 文件中的扩展包。此外,并不是必须要使用Bootstrap框架来构建Laravel应用——这只是为选择使用Bootstrap的开发者提供一个好的起点。

编译CSS之前,使用NPM安装应用的前端依赖:

npm install

使用 npm install 安装好前端依赖之后,可以使用 Gulp 编译SAAS文件为原生的CSS, gulp 命令会处理 gulpfile.js 文件中的声明。通常,编译好的CSS文件会被放置到 public/css 目录下:

gulp

Laravel自带的默认 gulpfile.js 文件会编译SAAS文件 resources/assets/sass/app.scss ,这个 app.scss 文件将会导入一个包含SAAS变量的文件并加载Bootstrap,从而助力我们快速在应用中引入Bootstrap资源,你也可以按照自己的需要自定义 app.scss 文件,甚至可以通过配置Laravel Elixir使用一个完全不同的预处理器。

3、编写JavaScript

应用所需要的所有JavaScript依赖都可以在应用根目录下的 package.json 中找到,这个文件和 composer.json 类似,只不过它指定的是JavaScript依赖而不是PHP依赖。你可以使用NPM来安装这些依赖:

npm install

默认情况下,Laravel自带的 package.json 文件引入了一些扩展包,比如 vuevue-resource ,以便你快速构建JavaScript应用,同样,你可以按照应用的需要随意增删 package.json 中的扩展包。

扩展包安装好之后,可以使用 gulp 命令来编译前端资源,Gulp是一个JavaScript命令行构建工具,当你执行 gulp 命令的时候,Gulp将会执行 gulpfile.js 中的声明:

gulp

默认情况下,Laravel自带的 gulpfile.js 将会编译SAAS和 resources/assets/js/app.js 文件,在 app.js 文件中你可以注册Vue组件,或者你倾向于其它JavaScript框架,配置你自己的JavaScript应用。你所编译的JavaScript文件通常会存放在 public/js 目录下。

注: app.js 文件会加载 resources/assets/js/bootstrap.js 以便启动和配置Vue,Vue资源,jQuery以及所有其它JavaScript依赖,如果你有额外的JavaScript依赖需要配置,请在这里操作。

编写Vue组件

默认情况下,新安装的Laravel应用将会在 resources/assets/js/components 目录下包含一个Vue组件 Example.vue ,这个Vue组件是一个 单文件Vue组件 示例,其中定义了相关的JavaScript和HTML模板,单文件组件为构建JavaScript驱动的应用提供了便利。这个示例组件在 app.js 中注册:

Vue.component('example', require('./components/Example.vue'));

要在应用中使用这个组件,只需要将其丢到某个HTML模板中。例如,在运行完Artisan命令 make:auth 创建登录和注册视图之后,就可以将这个组件丢到Blade模板 home.blade.php 中:

@extends('layouts.app')

@section('content')
    <example></example>
@endsection

注:记住,每次修改Vue组件后都要运行一次 gulp 命令,或者,你也可以运行 gulp watch 命令进行监听,一旦组件被修改后可以自动进行重新编译。

如果你对编写Vue组件感兴趣,可以去阅读 Vue文档 ,从而对Vue框架有更加全面的认识。

 
标签: JavaScript CSS
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • oogle的“ JavaScript杀手” Dart 与JavaScript的比较
    oogle的“ JavaScript杀手” Dart 与JavaScript
    JavaScript通常被称为浏览器脚本语言,但它也已扩展到许多服务器端和移动应用程序开发环境。JS已经存在了将近20年,可以肯定地说它确实是一种成熟且稳定的编程语言。在Facebook发布React和React Native框架之后,JS变得越来越流行。JavaScript具有自己的软件
    03-08
  • Delphi XE6 通过JavaScript API调用百度地图
    Delphi XE6 通过JavaScript API调用百度地图
    参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的。 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu.com/map/jsdemo.htm下一步,就是把例子中的代码,移动TWebBrower中。 unit Unit
    02-09
  • JavaScript面向对象轻松入门之抽象(demo by ES5
    抽象的概念  狭义的抽象,也就是代码里的抽象,就是把一些相关联的业务逻辑分离成属性和方法(行为),这些属性和方法就可以构成一个对象。  这种抽象是为了把难以理解的代码归纳成与现实世界关联的概念,比如小狗这样一个对象:属性可以归纳出“毛色”、
    02-09
  • TypeScript:微软的 JavaScript 替代
    每个人心目中似乎都有一个JavaScript替代,Google甚至有两个。现在,微软也透露了它的JavaScript替代。 C#之父Anders Hejlsberg等人正在创造新语言TypeScript,微软已经在 Apache 2.0许可证下在自家的开源托管网站上发布了一个预览版本,公布了语言规格。 Typ
    02-09
  • JavaScript、TypeScript、ES6三者之间的联系和
    ES6是什么ECMAScript 6.0(以下简称ES6)是JavaScript语言(现在是遵循ES5标准)的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。ES6的新特性ES6中的let命令,声明变量,用法
    02-09
  • JavaScript和TypeScript中的void的具体使用
    如果你来自传统的强类型语言,可能会很熟悉 void 的概念:一种类型,告诉你函数和方法在调用时不返回任何内容。void 作为运算符存在于 JavaScript 中,而作为基本类型存在于 TypeScript 中。在这两个世界中,void 的工作机制与大多数人习惯的有点不同。JavaSc
    02-09
  • TypeScript-axios模块进行封装的操作与一些想法
    TypeScript-axios模块进行封装的操作与一些想法
    所谓封装与模块化,对我这种初学者来说,个人理解就是解耦,比如说,当我们前端一个项目使用了现在流行的模块,但是没有对其进行封装处理,包括一些相同的代码逻辑,把他们分散在各个组件当中,这样一来整个项目对于这个模块的耦合度太高.如果将来这个模块突然停止维
  • [译] TypeScript入门指南(JavaScript的超集)
    [译] TypeScript入门指南(JavaScript的超集)
    你是否听过 TypeScript?TypeScript 是 JavaScript 的超集,TypeScript结合了类型检查和静态分析,显式接口。TypeScript是微软的开源项目,它是由C#之父Anders Hejlsberg发起的。 为什么会有 TypeScript?JavaScript 只是一个脚本语言,并非真正设计用于开发
    02-09
  • 从 JavaScript 到 TypeScript
    从 JavaScript 到 TypeScriptTypeScript 并不是一个完全新的语言, 它是 JavaScript 的超集,为 JavaScript 的生态增加了类型机制,并最终将代码编译为纯粹的 JavaScript 代码。TypeScript 简介TypeScript 由 Microsoft(算上 Angular 2 的话加上 Google)开发和
    02-09
  • 简单理解JavaScript,TypeScript和JSX
    JavaScript:基本概念:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于浏览器客户端的脚本语言。组成部分ECMAScript,描述了该语言的语法和基本对象。文
    02-09
点击排行