前端指南

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

JavaScript & CSS 脚手架#

简介#

虽然 Laravel 并不强制你使用哪个 JavaScript 或 CSS 预处理器,但还是提供了适合多数应用的 BootstrapVue 作为起点。默认情况下, Laravel 使用 NPM 来安装这些前端依赖包。

CSS#

Laravel Mix 提供了一个简洁、友好的 API 用于编译 SASS 或 Less 。 SASS 和 Less 扩展了 CSS ,添加了变量、 mixins 等强大特性,使得编写 CSS 更加轻松。 这篇文档将简要探讨 CSS 大体的编译过程,不过,你最好还是查阅完整的 Laravel Mix 文档 获取更多信息。

JavaScript#

Laravel 并不强制使用特定的 JavaScript 框架或库来构建应用。当然,你也可以完全不用 JavaScript 。不过, Laravel 还是提供了一些基本的脚手架,能更容易地使用 Vue 库来编写现代 JavaScript 。 Vue 提供了一个友好的 API ,通过组件就可以构建强大的 JavaScript 应用。和 CSS 一样,用 Laravel Mix 就能轻松把多个 JavaScript 组件编译到单个 JavaScript 文件中。

移除前端脚手架#

如果要移除应用的前端脚手架, preset Artisan 会派上用场。这个命令和选项 none 配合使用,会移除应用的 Bootstrap 和 Vue 脚手架,仅保留一个空的 SASS 文件和几个通用的 JavaScript 库:

php artisan preset none

编写 CSS#

Laravel 的 package.json 引入了 bootstrap 包, Bootstrap 帮助你构建应用的前端雏形。不过,根据需求, package.json 文件的包可以随意添加或删除。构建 Laravel 应用时, Bootstrap 框架不是必须的,它只是给那些想要使用它的人提供一个好的起点。

编译 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 会编译 SASS 文件 resources/sass/app.scss 。文件 app.scss 会引入一个包含 SASS 变量的文件,并加载 Bootstrap ,这为多数应用提供了一个好的起点。根据需要,文件 app.scss 可随意修改,甚至通过 配置 Laravel Mix 使用一个完全不同的预处理器。

编写 JavaScript#

项目所有的 JavaScript 依赖都可以在其根目录下的 package.json 文件中找到。这个文件类似于 composer.json ,只是前者指定 JavaScript 依赖,后者指定 PHP 依赖。使用 Node 包管理工具 (NPM) 安装依赖:

npm install

{tip} 默认情况下, Laravel 的 package.json 文件引入了 vueaxios 等包来帮助你构建 JavaScript 应用。根据需求, package.json 文件可以随意添加或移除依赖。

安装好依赖后,就可以运行 npm run dev 命令来 编译资源文件 了。 Webpack 是为现代 JavaScript 而生的模块打包工具。运行 npm run dev 命令, Webpack 会执行 webpack.mix.js 中的指令:

npm run dev

默认情况下, Laravel 的 webpack.mix.js 文件会编译 SASS 和 resources/js/app.js 文件。在 app.js 文件中,可以注册 Vue 组件,或使用其他框架进行配置。通常,编译后的 JavaScript 放在 public/js 目录下。

{tip} 文件 app.js 会加载 resources/js/bootstrap.js ,这个文件将引导和配置 Vue, Axios, jQuery 以及其他的 JavaScript 依赖。如果有额外的 JavaScript 依赖需要配置,也可以在这里进行。

编写 Vue 组件#

新安装的 Laravel 应用在 resources/js/components 目录默认包含一个 ExampleComponent.vue Vue 组件。 ExampleComponent.vue单文本 Vue 组件 的实例,定义了自身的 JavaScript 和 HTML 模版。单文本组件为构建 JavaScript 驱动的应用提供了便利。这个实例组件已经在 app.js 文件中注册:

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

想要在应用中使用组件,只需要把它放在 HTML 模版中即可。例如,运行 make:auth Artisan 命令生成应用的认证和注册页面后,就可以把它置入 home.blade.php Blade 模版:

@extends('layouts.app')

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

{tip} 谨记,每次修改 Vue 组件后,都应该运行 npm run dev 命令。或者,运行 npm run watch 命令监听组件的每次修改,进行自动编译。

需要 Vue 组件更多信息的话,可以阅读 Vue 官方文档 , 它对整个 Vue 框架进行了充分、易读的综述。

使用 React#

如果倾向使用 React 构建 JavaScript 应用,在 Laravel 中将 Vue 脚手架替换为 React 脚手架也并非难事。在任何新安装的 Laravel 应用中,使用带 react 选项的 preset 命令即可:

php artisan preset react

这个命令将移除 Vue 脚手架并替换为 React 脚手架,组件实例也会相应替换。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/laravel/5.7/fro...

译文地址:https://learnku.com/docs/laravel/5.7/fro...

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:3
讨论数量: 0
发起讨论 只看当前版本


暂无话题~