资讯专栏INFORMATION COLUMN

PJ Blog 升级到 Laravel 5.4

OpenDigg / 2783人阅读

摘要:关注了也有一小段时间,终于在今天凌晨的时候发布了。当然我也将我的开源博客第一时间升级到,并发布版本。此项目由升级到也是非常的简单,前端编译也用全新的来替代了。升级升级到官方文档已经写得很全面。

关注了 5.4 也有一小段时间,终于在今天凌晨的时候发布了。当然我也将我的开源博客( PJ Blog )第一时间升级到 Laravel 5.4 ,并发布 jcc/blog 1.1 版本。

Laravel 5.4 也加入了很多的新特性,更多请看:https://laravel-china.org/topics/3713。

此项目由 Laravel 5.3 升级到 Laravel 5.4 也是非常的简单,前端编译也用全新的 laravel-mix 来替代了 gulp

升级 Laravel

Laravel 5.3 升级到 Laravel 5.4 官方文档已经写得很全面。

第一步:更新框架版本

在  composer.json  文件,更新你的 laravel/framework 依赖的版本号到 5.4.* 。

第二步:加入 Laravel Tinker

为了继续去使用 thinkerartisan 命令行,你需要安装 laravel/tinker 包:

</>复制代码

  1. composer require laravel/tinker

当包安装后,你应该在 config/app.php 配置文件中添加 LaravelTinkerTinkerServiceProvider::classproviders 数组中。

第三步: 添加新的全局中间件

Laravel 5.4 新增了三个中间件,可看看此文章 新增 3 个全局中间件

中间件 功能
ValidatePostSize 验证 post 数据大小
TrimStrings 去除首尾空白字符
ConvertEmptyStringsToNull 转换空字符串为 null

AppHttpMiddleware 下创建 TrimStrings 中间件:

</>复制代码

  1. 更新 AppHttpKernel.php 文件:

  2. </>复制代码

    1. protected $middleware = [
    2. ...
    3. IlluminateFoundationHttpMiddlewareValidatePostSize::class,
    4. AppHttpMiddlewareTrimStrings::class,
    5. IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,
    6. ];
  3. Laravel Mix 替代 Laravel Elixir
  4. Laravel 5.3package.json 文件 :

  5. </>复制代码

    1. {
    2. "private": true,
    3. "scripts": {
    4. "prod": "gulp --production",
    5. "dev": "gulp watch"
    6. },
    7. "devDependencies": {
    8. "bootstrap-sass": "^3.3.7",
    9. "gulp": "^3.9.1",
    10. "jquery": "^3.1.0",
    11. "laravel-elixir": "^6.0.0-9",
    12. "laravel-elixir-vue-2": "^0.2.0",
    13. "laravel-elixir-webpack-official": "^1.0.2",
    14. "lodash": "^4.16.2",
    15. "vue": "^2.0.1",
    16. "vue-resource": "^1.0.3"
    17. }
    18. }
  6. 更新到 Laravel 5.4package.json 文件:

  7. </>复制代码

    1. {
    2. "private": true,
    3. "scripts": {
    4. "dev": "node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    5. "watch": "node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    6. "hot": "node_modules/cross-env/bin/cross-env.js NODE_ENV=development webpack-dev-server --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    7. "production": "node_modules/cross-env/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    8. },
    9. "devDependencies": {
    10. "axios": "^0.15.2",
    11. "bootstrap-sass": "^3.3.7",
    12. "jquery": "^3.1.0",
    13. "laravel-mix": "^0.5.0",
    14. "lodash": "^4.16.2",
    15. "vue": "^2.0.1"
    16. }
    17. }
  8. </>复制代码

    1. 官方默认使用了 axios 替换了 vue-resource(Vue 官方已不在维护),使用也是很简单的。

  9. 在根目录下创建 webpack.mix.js 文件,并加入:

  10. </>复制代码

    1. const { mix } = require("laravel-mix");
    2. /*
    3. |--------------------------------------------------------------------------
    4. | Mix Asset Management
    5. |--------------------------------------------------------------------------
    6. |
    7. | Mix provides a clean, fluent API for defining some Webpack build steps
    8. | for your Laravel application. By default, we are compiling the Sass
    9. | file for the application as well as bundling up all the JS files.
    10. |
    11. */
    12. mix.js("resources/assets/js/app.js", "public/js")
    13. .sass("resources/assets/sass/app.scss", "public/css")
  11. </>复制代码

    1. Laravel Mix 的用法可在 官网文档 看到,用法跟 Laravel Elixir 有所不一样。

  12. 最后,将 gulpfile.js 删除,重新安装编译即可。

  13. 最后的最后,我发现使用 PJ Blog 的人很多都出现部署等问题,其实这些问题解决也是非常简单的,但由于我没有足够的时间去逐一回答,所以我创建了一个 Q 群:272734386 方便各使用者互相讨论,学习。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81368.html

相关文章

  • PJ Blog 升级 Laravel 5.4

    摘要:关注了也有一小段时间,终于在今天凌晨的时候发布了。当然我也将我的开源博客第一时间升级到,并发布版本。此项目由升级到也是非常的简单,前端编译也用全新的来替代了。升级升级到官方文档已经写得很全面。 关注了 5.4 也有一小段时间,终于在今天凌晨的时候发布了。当然我也将我的开源博客( PJ Blog )第一时间升级到 Laravel 5.4 ,并发布 jcc/blog 1.1 版本。 Lar...

    microelec 评论0 收藏0
  • Laravel 5.4 正式发布

    摘要:它的目的是提供正确的方式进行页面交互测试,所以可以使用去点击按钮或者链接填写表单甚至拖放。此外,提到测试运行比更快。此次因底层架构改变较大而重命名。这个功能受到的启发,能够将元素简化为可重用区域。 showImg(https://segmentfault.com/img/remote/1460000008212617); 转自 Laravel 社区:https://laravel-ch...

    Vultr 评论0 收藏0
  • Laravel 5.4 入门系列 1. 安装

    摘要:的安装与使用是什么是的一个依赖管理工具。它以项目为单位进行管理,你只需要声明项目所依赖的代码库,会自动帮你安装这些代码库。 Composer 的安装与使用 Composer 是什么 Composer 是 PHP 的一个依赖管理工具。它以项目为单位进行管理,你只需要声明项目所依赖的代码库,Composer 会自动帮你安装这些代码库。 安装 Composer Mac 下的安装只需要在命令行...

    hqman 评论0 收藏0
  • Laravel 5.4 入门系列 5. 博客通用布局

    摘要:接下来执行迁移即可通用布局通用布局首先是博客首页,定义路由控制器视图博客首页访问下网站根目录,显示博客首页,框架基本搭建完成了。首先是通用布局通用布局里面除了使用之外,还使用了,用于加载其他模板。 5. 博客的通用布局 初始化 创建控制器、模型、迁移 博客的核心是文章,可以先来实现和文章有关的功能,根据前几节的介绍可知,我们至少需要创建这几类: PostsController:控制器...

    xuweijian 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<