Laravel Laravel
  • 前言

    • 发行说明
    • 升级向导
    • 贡献导引
    • API 文档
  • 入门指南

    • 安装
    • 配置
    • 文件夹结构
    • Homestead
    • Valet
    • 部署(new)
  • 架构思想

    • 请求生命周期
    • 服务容器
    • 服务提供者
    • Facades:门面
    • Contracts:契约
  • 基础功能

    • 路由
    • 中间件
    • CSRF 保护
    • 控制器
    • 请求
    • 响应
    • 视图
    • URL 生成(new)
    • Session
    • 表单验证
    • 错误 & 日志
  • 前端开发

    • Blade 模板
    • 本地化
    • 前端脚手架
    • 编译资源
  • 安全

    • 身份认证
    • API 身份认证
    • 授权
    • 加密
    • 哈希
    • 重置密码
  • 深入话题

    • Artisan 命令行
    • 广播
    • 缓存
    • 集合
    • 事件
    • 文件存储
    • 辅助函数
    • Mail
    • 消息通知
    • 扩展包开发
    • 队列
    • 任务调度
  • 数据库

    • 快速入门
    • 查询构造器
    • 分页
    • 数据库迁移
    • 数据填充
    • Redis
  • Eloquent ORM

    • 快速入门
    • 关联关系
    • Eloquent 集合
    • 修改器
    • API 资源(new)
    • 序列化
  • 测试

    • 快速入门
    • HTTP 测试
    • 浏览器测试
    • 数据库测试
    • 测试模拟器Mocking
  • 官方扩展包

    • Cashier
    • Envoy部署工具
    • Horizon队列管理工具(new)
    • PassportOAuth 认证
    • Scout全文搜索
    • Socialite社会化登录
Icon

提示 您正在浏览旧版本的 Laravel 的文档. 请考虑将你的项目升级到 Laravel 11.x.

8 4

前端指南
5.5
8.x 7.x 6.x 5.8 5.7 5.6 5.5 5.4 5.3 5.2 5.1

Laravel 5.5 中文文档 /

未匹配的标注
本文档最新版为 8.x,旧版本可能放弃维护,推荐阅读最新版!

Laravel 的前端资源处理 JavaScript&CSS 构建

  • 简介
  • 编写 CSS
  • 编写 JavaScript
    • 编写 Vue 组件
    • 使用 React

简介

Laravel 并没有规定你使用哪个 JavaScript 或 CSS 预处理器,不过它还是提供了对大多数应用都很适用的 Bootstrap 和 Vue 来作为默认的起点。默认情况下,Laravel 使用 NPM 安装这两个前端依赖。

CSS

Laravel Mix 提供了一个内容丰富且简洁的 API 用以编译 SASS 或 Less,这些 CSS 预处理语言扩充了 CSS 语言,增加了诸如变量、mixins 及其他一些功能强大的扩展让编写 CSS 代码变得更加有趣。尽管我们会在这里简要的讨论 CSS 编译的内容,但你应该查阅 Laravel Mix 文档 获取更多关于编译 SASS 或 Less 的信息。

JavaScript

Laravel 并不需要你使用特定的 JavsScript 框架或者库来构建应用程序。事实上,你也可以完全不用 JavaScript。不过,Laravel 自带了一些基本的脚手架,能更容易地使用 Vue 编写 JavaScript。Vue 提供了健壮的组件化 API 用来构建强大的 JavaScript 应用程序。与 CSS 一样,我们可以使用 Laravel Mix 轻松地将 JavaScript 组件编译成一个浏览器可使用的 JavaScript 文件。

移除前端脚手架

如果要从你的应用程序中移除前端脚手架,可以使用 Artisan 命令 preset。该命令加上 none 选项时,将从应用程序中删除 Bootstrap 和 Vue 脚手架,只留下一个空白的 SASS 文件和一些常用的 JavaScript 实用程序库:

php artisan preset none

编写 CSS

Laravel 的 package.json 文件引入了 bootstrap-sass 依赖包,可以帮助你使用 Bootstrap 构建应用程序的前端原型。不过,你可以根据自己应用程序的需要在 package.json 灵活的添加或者移除依赖包。你不是一定要使用 Bootstrap 框架来构建你的 Laravel 应用程序,它只是给那些想用它的人提供一个很好的起点。

在编译 CSS 代码之前,需要你先使用 Node 包管理工具(NPM) 来安装项目的前端依赖:

npm install

使用 npm install 成功安装依赖后,你就可以使用 Laravel Mix 来将 SASS 文件编译为纯 CSS。npm run dev 命令会处理 webpack.mix.js 文件中的指令。通常情况下,编译好的 CSS 代码会被放置在 public/css 目录:

npm run dev

Laravel 自带的 webpack.mix.js 默认会编译 resources/assets/sass/app.scss SASS 文件。app.scss 文件导入了一个包含 SASS 变量的文件,并加载 Bootstrap,这对大多数程序来说很方便。你也可以根据自己的需要去定制 app.scss 文件的内容,甚至使用完全不同的预处理器,详细配置见 配置 Laravel Mix。

编写 JavaScript

在项目根目录中的 package.json 可以找到应用程序的所有 JavaScript 依赖。它和 composer.json 文件类似,不同的是它指定的是 JavaScript 的依赖而不是 PHP 的依赖。使用 Node 包管理器 (NPM) 来安装这些依赖包:

npm install

{tip} 默认情况下,Laravel package.json 文件默认会包含一些依赖包来帮助你构建 JavaScript 应用程序,例如 vue 和 axios 。你可以根据需要在 package.json 中添加或者移除依赖。

安装依赖之后,就可以使用 npm run dev 命令来 编译资源文件 。Webpack 是一个为现代 JavaScript 应用而生的模块构建工具。当你运行 npm run dev 命令时,Webpack 会执行 webpack.mix.js 文件中的指令:

npm run dev

默认情况下,Laravel 的 webpack.mix.js 会编译 SASS 文件和 resources/assets/js/app.js 文件。你可以在 app.js 文件中注册你的 Vue 组件,或者如果你更喜欢其他的框架,请配置自己的 JavaScript 应用程序。编译好的 JavaScript 文件通常会放置在 public/js 目录。

{tip} app.js 会加载 resources/assets/js/bootstrap.js 文件来启动并 配置 Vue、Axios、jQuery 以及其他的 JavaScript 依赖。如果你有其他的 JavaScript 依赖需要去配置,你也可以在这个文件中完成。

编写 Vue 组件

新 Laravel 程序默认会在 resources/assets/js/components 中包含一个 ExampleComponent.vue 的 Vue 组件。ExampleComponent.vue 文件是在同一文件中定义其 JavaScript 和 HTML 模板的 单文件 Vue 组件 的示例。它为构建 JavaScript 驱动的应用程序提供了非常方便的方法。这个示例组件已经在 app.js 文件中注册:

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

在应用程序中使用组件,你只需要简单的将其放到你的 HTML 模板之中。例如,运行 Artisan 命令 make:auth 去生成应用的用户认证和注册的框架页面后,可以把组件放到 home.blade.php Blade 模板中:

@extends('layouts.app')

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

{tip} 谨记,每次修改 Vue 组件后都应该运行 npm run dev 命令。或者,你可以使用 npm run watch 命令来监控并在每次文件被修改时自动重新编译组件。

当然,如果你对编写 Vue 组件的内容感兴趣,你可以读一下 Vue 文档,该文档内容全面又易于阅读。

使用 React

如果你喜欢用 React 来构建你的 JavaScript 应用程序,Laravel 很容易就能将 Vue 脚手架替换为 React 脚手架。在任何新建的 Laravel 应用程序下,你可以用 preset 命令加 react 选项:

php artisan preset react

该命令将移除 Vue 脚手架并用 React 脚手架替换, 包括 Laravel 自带的示例组件。

上一篇 下一篇

成为Laravel合作伙伴

Laravel Partners是提供一流Laravel开发和咨询服务的精英商店。我们每个合作伙伴都可以帮助您制定一个精美,结构完善的项目.

我们的伙伴
Laravel
亮点
  • Our Team
  • 发布说明
  • 入门
  • 路由
  • Blade 模板
  • 身份验证
  • 用户授权
  • Artisan 控制台
  • 数据库
  • Eloquent ORM
  • 测试
资源
  • Laravel Bootcamp
  • Laracasts
  • Laravel News
  • Laracon
  • Laracon EU
  • Laracon India
  • Jobs
  • Forums
  • Trademark
  • 版本发布时间
  • 包开发
  • 命令行应用
  • TALL stack全栈开发
  • Blade UI Kit
  • 前端资源构建
伙伴
  • WebReinvent
  • Vehikl
  • Tighten
  • 64 Robots
  • Active Logic
  • Byte 5
  • Curotec
  • Cyber-Duck
  • DevSquad
  • Jump24
  • Kirschbaum
生态系统
  • Cashier
  • Dusk
  • Echo
  • Envoyer
  • Forge
  • Horizon
  • Nova
  • Octane
  • Sail
  • Sanctum
  • Scout
  • Spark
  • Telescope
  • Valet
  • Vapor

Laravel是一个具有表达力,优雅语法的Web应用程序框架。我们认为,发展必须是一种令人愉悦的创造力,才能真正实现。Laravel试图通过减轻大多数Web项目中使用的常见任务来减轻开发的痛苦.

Laravel是Taylor Otwell的商标.
Copyright © 2011-2025 Laravel中文网 LLC.

  • Twitter
  • GitHub
  • Discord
Laravel 全栈开发网 推荐使用阿里云 按Ctrl+D试试