laravel-mix 文档翻译

英文文档在github

概览

  • 基本示例
  • 安装
  • laravel 工作流程
  • laravel mix  VS laravel Elixir
  • 常见问题

API

  • JavaScript
  • 代码拆分
  • browserSync
  • HMR
  • 版本
  • CSS预处理
  • 拷贝文件/目录
  • 系统通知
  • 合并和压缩
  • 自动加载
  • 事件钩子
  • 自定义webpack配置

常用插件

  • LiveReload
  • jQueryUI

高级配置

  • laravel-mix 选项

基本示例

larave-mix是在webpack上的一个简洁的层,使80%的用例执行起来变的可笑的简单。尽管webpack非常的强大,但很多人都认为webpack的学习曲线非常陡峭。但是如果你不必用再担心这些了呢?

看一下基本的webpack.mix.js文件,让我们想象一下我们现在只需要编译javascript(ES6)和sass文件:

let mix = require(‘laravel-mix‘);

mix.sass(‘src/app.sass‘, ‘dist‘)
   .js(‘src/app.js‘, ‘dist‘);

怎么样,简单吗?

  1. 编译sass文件, ./src/app.sass到 ./dist/app.css

  2. 打包在./src/app.js的所有js(包括任何依赖)到 ./dist/app.js。

使用这个配置文件,可以在命令行触发webpack指令:node_modules/bin/webpack

在开发模式下,并不需要压缩输出文件,如果在执行webpack的时候加上环境变量:export NODE_ENV=production && webpack,文件会自动压缩

less

但是如果你更喜欢使用Less而不是Sass呢?没问题,只要把mix.sass()换成mix.less()就OK了。

使用laravel-mix,你会使发现大部分webpack任务会变得更又把握

安装

尽管laravel-mix对于laravel使用来说最优的,但也能被用于任何其他的应用。

laravel项目

laravel已经包含了你所需要的一切,简易步骤:

  1. 安装laravel

  2. 运行 npm install

  3. 看一下你的webpack.mix.js ,然后就done了

你可以在命令行运行 npm run watch 来监视你的前段资源改变,然后重新编译。

注:在项目根目录下并没有webpack.config.js配置文件,laravel默认指向根目录下的配置文件。如果你需要自己配置它,你可以把它拷贝到根目录下,同时修改package.json里的npm脚本: cp node_modules/laravel-mix/setup/webpack.config.js ./.

独立项目

首先使用npm或者yarn安装laravel-mix,然后把示例配置文件复制到项目根目录下

mkdir my-app && cd my-app
npm init -y
npm install laravel-mix --save-dev
cp -r node_modules/laravel-mix/setup/** ./

现在你会有如下的目录结构

  • node_modules/
  • package.json
  • webpack.config.js
  • webpack.mix.js

laravel-mix 包括两个核心组件

  • webpack.mix.js: 这是你在webpack上层的配置文件,大部分时间你需要修改的是这个文件
  • webpack.config.js: 这是传统的webpack配置文件,只有在有更高级的配置需求时才需要更改

打开你的webpack.mix.js文件:

let mix = require(‘laravel-mix‘);

mix.js(‘src/app.js‘, ‘dist‘)
   .sass(‘src/app.scss‘, ‘dist‘);

注意源文件的路径,然后创建匹配的目录结构(你也可以改成你喜欢的结构)。现在都准备好了,在命令行运行node_modules/.bin/webpack 编译所有文件,然后你将会看到:

  • dist/app.css
  • dist/app.js
  • dist/mix-manifest.json(你的asset输出文件,稍后讨论)

干得漂亮!现在可以干活了。

NPM Scripts

把下面的npm脚本添加到你的package.json文件中可以让你的工作更快,laravel安装的时候已经包含了这个东西了

 "scripts": {
    "dev": "cross-env NODE_ENV=development webpack --progress --hide-modules",
    "watch": "cross-env NODE_ENV=development webpack --watch --progress --hide-modules",
    "hot": "cross-env NODE_ENV=development webpack-dev-server --inline --hot",
    "production": "cross-env NODE_ENV=production webpack --progress --hide-modules"
  }
时间: 2024-10-09 12:00:31

laravel-mix 文档翻译的相关文章

Laravel Mix编译前端资源

目前项目是使用的vue+laravel来写的,其中laravel和vue分别放了一个目录,但是这样有个问题,那就是vue需要经常更新,不然运行项目会经常出现各种问题,这里就看了看laravel的文档,才知道还有Mix这个组件,进行编译前后端资源.下载完成后的目录和laravel是一样的,只是在根目录下面有一个node_models目录. 安装: 安装Node,首先要确保自己的电脑上面有安装Node. 使用:node -v    和   npm -v查看是否有版本号,有即表示有安装Node,否则需

Laravel之大纲

Laravel 5.6 中文文档 发布于 2018-03-04 00:39:55, 最后更新于2018-09-08 22:27:52 由 Laravel 学院提供的 Laravel 5.6 中文文档,供学习参考用,如有纰漏,请指正: 序言 新版特性 升级指南 贡献指南 API文档 快速入门 安装配置 目录结构 Homestead Valet 部署 核心概念 请求生命周期 服务容器 服务提供者 门面(Facades) 契约(Contracts) 框架基础 路由 中间件 CSRF 保护 控制器 请求

laravel 5.5 《电商实战 》基础布局

我们需要为我们的项目构建一个基础的页面布局,布局文件统一存放在 resources/views/layouts 文件夹中,布局涉及的文件如下: app.blade.php —— 主要布局文件,项目的所有页面都将继承于此页面: _header.blade.php —— 布局的头部区域文件,负责顶部导航栏区块: _footer.blade.php —— 布局的尾部区域文件,负责底部导航区 我们先创建主要布局文件:resources/views/layouts/app.blade.php: $ mkd

基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记

在上一篇文章< ThinkSNS+基于Laravel master分支,从1到 0,再到0.1>,简单的介绍了 ThinkSNS+ ,这里分享在开发过程中,前端选择的心理活动. Laravel Mix的放弃 在 Laravel 中,前端工作流默认是由 laravel-mix 包驱动的,集成了 Vue.js.而作为核心开发之一,也负责前端这块的开发.其实,这是seven第一次写 Vue,之前都是用 React 做开发. 然后seven和另一个核心成员 Wayne 在楼道抽烟聊前端这事情,要不要用

Laravel 5.5 发布,ThinkSNS+ 升级及状况分享

升级场景 ThinkSNS+ 一直依赖,都是保留 Laravel 的 commit 记录的前提下,进行开发,为了追随 Laravel 的升级,我们在本地的仓库中新建了一个分支,如果 laravel 更新频繁,则每周一进行 merge 操作.然后再发送到ThinkSNS+的 GitHub仓库上(仓库地址 https://github.com/slimkit/thinksns-plus ).所以此次升级同样采用 merge 的方式升级. 前端构建 Laravel 一直都有提供脚手架,5.5 则提供了

Laravel之杂记

1.composer设置国内镜像加速 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 2.composer创建应用 composer create-project laravel/laravel test --prefer-dist "5.8.*" 3.自建辅助函数,可以放在bootstrap/helpers.php中,修改composer.json,autoload下增加:

Laravel安装及配置,完成基础的demo

镜像用法 修改 composer 的全局配置文件(推荐方式) 打开命令行窗口(windows用户)或控制台(Linux.Mac 用户)并执行如下命令: composer config -g repo.packagist composer https://packagist.phpcomposer.com 通过 Composer Create-Project 你还可以在终端中通过 Composer 的 create-project 命令来安装 Laravel 应用: composer create

swift中文文档翻译之--字符串和字符

字符串和字符 A string is an ordered collection of characters, such as "hello, world" or "albatross". Swift strings are represented by the String type, which in turn represents a collection of values of Character type. Swift's String and Char

Laravel之Elixir

一.Elixir安装和设置 1.安装node.js 2.安装Gulp 作为全局NPM 包 npm install --global gulp 3.最后,在新安装的Laravel 根目录下,你会发现有一个package.json 文件.该文件和composer.json 一样,只不过是用来定义Node 依赖而非PHP ,你可以通过运行如下命令来安装需要的依赖: npm install windows下: npm install --no-bin-links 4.按需配置根目录下的gulpfile.