* * * * *
[TOC]
## 簡介
Laravel 并沒有規定你使用哪個 JavaScript 或 CSS 預處理器,不過默認提供了對大多數應用都很適用的?[Bootstrap](http://getbootstrap.com/)?和?[Vue](https://vuejs.org/)來作為起點。 Laravel 默認使用?[NPM](https://npmjs.org/)?安裝這些前端的依賴。
#### CSS
[Laravel Mix](編輯資源Mix.md)?提供了一個簡潔、富有表現力的 API 來編譯 SASS 或 Less,這些 CSS 預處理語言擴充了 CSS 語言,增加了諸如變量、混合(mixins)及其他一些強大的功能讓編寫 CSS 代碼變得更加有趣。
盡管我們會在這里簡要的討論 CSS 編譯的內容,但是,你應該訪問?[Laravel Mix 文檔](編輯資源Mix.md)?獲取更多關于編譯 SASS 或 Less 的信息。
#### JavaScript
Laravel 并不需要你使用特定的 JavsScript 框架或者庫來構建應用程序。事實上,你也可以完全不用 JavaScript。不過,Laravel 自帶了用?[Vue](https://vuejs.org/)?實現的基本腳手架代碼來幫你更輕松的開始現代化 JavaScript 編碼。Vue 提供了強大的組件化 API 用來構建健壯的 JavaScript 應用程序。
## 編寫 CSS
在 Laravel 的根目錄中的?`Package.json`?文件引入了?`bootstrap-sass`?依賴包可以幫助你使用 Bootstrap 制作應用程序的前端原型。不過,你可以根據自己應用程序的需要在?`package.json`?靈活的添加或者移除依賴包。使用 Bootstrap 框架來構建你的 Laravel 應用程序并不是必選項,它只是給那些想用它的人提供一個很好的起點。
編譯 CSS 代碼之前,需要你先使用 NPM 來安裝前端的依賴:
~~~
npm install
~~~
使用?`npm install`?成功安裝依賴之后,你就可以使用?[Laravel Mix](編輯資源Mix.md)?來將 SASS 文件編譯為純 CSS。.`npm run dev`?命令會執行處理?`webpack.mix.js`?文件中的指令。通常情況下,編譯好的 CSS 代碼會被放置在?`public/css`?目錄:
~~~
npm run dev
~~~
默認情況下,`webpack.mix.js`?會編譯?`resources/assets/sass/app.scss`?SASS 文件。`app.scss`?文件導入了一個包含 SASS 變量的文件,加載了 Bootstrap 框架,這對大多數程序來說是一個很好的出發點。你也可以根據自己的需要去定制?`app.scss`?文件的內容,甚至使用完全不同的預處理器,詳細配置見?[配置 Laravel Mix](編輯資源Mix.md)。
## 編寫 JavaScript
在項目根目錄中的?`package.json`?可以找到應用程序的所有 JavaScript 依賴。它和?`composer.json`?文件類似,不同的是它指定的是 JavaScript 的依賴而不是 PHP 的依賴。使用?[Node 包管理器 (NPM)](https://npmjs.org/)?來安裝這些依賴包:
~~~
npm install
~~~
Laravel?`package.json`?文件默認會包含一些依賴包來幫助你開始建立 JavaScript 應用程序,例如?`vue`?和?`axios`。你可以根據自己程序的需要在?`package.json`?中添加或者移除依賴。
成功安裝依賴之后,你就可以使用?`npm run dev`?命令來?[編譯資源文件](編輯資源Mix.md)?。Webpack 是一個為現代 JavaScript 應用而生的模塊構建工具。當你運行?`npm run dev`?命令時,Webpack 會執行?`webpack.mix.js`?文件中的指令:
~~~
npm run dev
~~~
默認情況下,`webpack.mix.js`?會編譯 SASS 文件和?`resources/assets/js/app.js`?文件。你可以在?`app.js`?文件中注冊你的 Vue 組件,或者如果你更喜歡其他的框架,也可以在這里進行配置。編譯好的 JavaScript 文件通常會放置在?`public/js`?目錄。
> {tip}?`app.js`?會加載?`resources/assets/js/bootstrap.js`?文件來啟動、 配置 Vue,Vue Resource,jQuery,以及其他的 JavaScript 依賴。如果你有額外的 JavaScript 依賴需要去配置,你也可以在這個文件中完成。
### 編寫 Vue 組件
全新安裝的 Laravel 程序默認會在?`resources/assets/js/components`?中包含一個?`Example.vue`?的 Vue 組件。`Example.vue`?文件是一個?[單文件 Vue 組件](https://vuejs.org/guide/application.html#Single-File-Components)?的示例,單文件 Vue 組件允許我們在同一個文件中編寫 JavaScript 和 HTML 模板,它提供了一種非常方便的方式去構建 JavaScript 驅動的應用程序。這個示例組件注冊在?`app.js`?文件。
~~~
Vue.component('example', require('./components/Example.vue'));
~~~
在應用程序中使用示例組件,你只需要簡單的將其放到你的 HTML 模板之中。例如,在你運行?`make:auth`?Artisan 命令去生成應用的用戶認證和注冊的腳手架頁面后,你可以把組件放到?`home.blade.php`?Blade 模板:
~~~
@extends('layouts.app')
@section('content')
<example></example>
@endsection
~~~
> {tip} 謹記,你需要在每次修改 Vue 組件后都需要運行?`npm run dev`?命令。或者,你可以使用?`npm run watch`?命令來監控并在每次文件被修改時自動重新編譯組件。
當然,如果你對學習更多編寫 Vue 組件的內容感興趣,你可以讀一下?[Vue 官方引導文檔](http://vuejs.org/guide/),它提供了一個透徹、易懂的文檔讓你一覽 Vue 框架的概貌。
- 前言
- 翻譯說明
- 發行說明
- 升級說明
- 貢獻導引
- 入門指南
- 安裝
- 配置信息
- 文件夾結構
- 請求周期
- 開發環境部署
- Homestead
- Valet
- 核心概念
- 服務容器
- 服務提供者
- Facades
- Contracts
- HTTP層
- 路由
- 中間件
- CSRF 保護
- 控制器
- 請求
- 響應
- 視圖
- Session
- 表單驗證
- 前端
- Blade 模板
- 本地化
- 前端指南
- 編輯資源 Mix
- 安全
- 用戶認證
- Passport OAuth 認證
- 用戶授權
- 加密解密
- 哈希
- 重置密碼
- 綜合話題
- Artisan 命令行
- 廣播系統
- 緩存系統
- 集合
- 錯誤與日志
- 事件系統
- 文件存儲
- 輔助函數
- 郵件發送
- 消息通知
- 擴展包開發
- 隊列
- 任務調度
- 數據庫
- 快速入門
- 查詢構造器
- 分頁
- 數據庫遷移
- 數據填充
- Redis
- Eloquent ORM
- 快速入門
- 模型關聯
- Eloquent 集合
- 修改器
- 序列化
- 測試
- 快速入門
- HTTP 測試
- 瀏覽器測試 Dusk
- 數據庫測試
- 測試模擬器
- 官方擴展包
- Cashier 交易工具包
- Envoy 部署工具
- Scout 全文搜索
- Socialite 社會化登錄