注意:本节命令均需要在项目根目录下运行。
[TOC]
## 编译
>[info] 所有编译后的资源文件都被存放在 `public` 文件夹中。
### 开发模式
>[warning] 生成的文件未被压缩,便于开发调试:
~~~bash
$ npm run dev
~~~
或
~~~bash
$ npm run developmennt
~~~
### 生产模式
>[success] 生成的文件自动经过压缩,便于线上加载:
~~~bash
$ npm run prod
~~~
或
~~~bash
$ npm run production
~~~
## 监控
>[info] 可在开发时一直运行,Webpack 检测到文件更改时将自动重新编译资源:
~~~bash
npm run watch
~~~
在某些环境中,当文件更改时,Webpack 不会更新。
如果系统出现这种情况,请考虑使用 `watch-poll` 命令:
~~~bash
$ npm run watch-poll
~~~
## 可能出现的报错
### Module build failed: `node-sass`
>[danger] 报错内容:
~~~bash
ERROR Failed to compile with 2 errors
error in ./resources/assets/sass/app.scss
Module build failed: Error: ENOENT: no such file or directory, scandir '/home/vagrant/Code/Laravel/node_modules/node-sass/vendor'
·
·
·
error in ./resources/assets/sass/app.scss
Module build failed: ModuleBuildError: Module build failed: Error: ENOENT: no such file or directory, scandir '/home/vagrant/Code/Laravel/node_modules/node-sass/vendor'
~~~
>[warning] 报错原因:
> 打开 `~node_modules/node-sass/vendor` 文件夹下为空,缺少 `linux-x64-48/binding.node` 文件。
>[success] 解决方法:
> 执行以下命令,更改包内容后进行重建
~~~bash
$ npm rebuild node-sass --no-bin-links
~~~
>[info] 成功后显示:
~~~bash
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.3/linux-x64-48_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.3/linux-x64-48_binding.node":
ETIMEDOUT
Timed out attemping to establish a remote connection
·
·
·
gyp info ok
Installed to /home/vagrant/Code/Laravel/node_modules/node-sass/vendor/linux-x64-48/binding.node
node-sass@4.5.3 /home/vagrant/Code/Laravel/node_modules/node-sass
~~~
### Module build failed: `optipng-bin`
>[danger] 报错内容:
~~~bash
ERROR Failed to compile with 2 errors
error in ./resources/assets/semantic/dist/themes/default/assets/images/flags.png
Module build failed: Error: spawn /home/vagrant/Code/Laravel/node_modules/optipng-bin/vendor/optipng ENOENT
·
·
·
error in ./resources/assets/sass/app.scss
Module build failed: ModuleBuildError: Module build failed: Error: spawn /home/vagrant/Code/Laravel/node_modules/optipng-bin/vendor/optipng ENOENT
~~~
>[warning] 报错原因:
> 打开 `~node_modules/optipng-bin` 文件夹下缺少 `vendor/optipng` 文件。
>[success] 解决方法:
> 执行以下命令,更改包内容后进行重建
~~~bash
$ npm rebuild optipng-bin --no-bin-links
~~~
>[info] 成功后显示:
~~~bash
·
·
·
✔ optipng pre-build test passed successfully
optipng-bin@3.1.4 /home/vagrant/Code/Laravel/node_modules/optipng-bin
~~~
### Cannot find module 'xxxxx'
>[danger] 报错内容举例:
~~~bash
module.js:471
throw err;
^
Error: Cannot find module 'crypt'
~~~
>[warning] 报错原因:
> 因为网络或者其他原因,导致某个扩张包没有正常安装上。
> `~node_modules` 目录下没有 `crypt` 文件夹。
>[success] 解决方法:
缺少什么包就添加什么包。
当然也可以 [清空所有扩展包,然后重新安装一遍](frontend/install-packages.md)。
- 日常命令
- 第一章 开发环境部署
- 第一节 安装 VirtualBox
- 第二节 安装 Vagrant
- 第三节 安装 Git for Windows
- 命令行提示符的写作约定
- Git Bash 使用技巧
- 第四节 安装和配置 Homestead
- 第五节 启动 Homestead 虚拟机
- 第六节 创建 Laravel 应用
- 第七节 使用 Git 进行版本控制
- 总结 本章命令概览
- 第二章 前端工作流
- 第一节 Yarn 安装前端扩展包
- 第二节 Laravel Mix 前端资源编译
- (1)配置 webpack.mix.js 指定 Mix 任务
- (2)修改 resources/assets 前端资源文件
- (3)运行 Mix 任务编译和监控代码
- 总结 本章命令概览
- 第三章 数据库
- 第一节 Config 数据库配置信息
- 第二节 Migrations 数据库迁移文件
- 第三节 Schema 数据库结构生成器
- (1) 数据表操作
- (2) 字段操作
- (3) 索引操作
- 第四节 Seeding 数据填充
- 第五节 DB 数据库查询构建器
- (1)获取结果集