You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Laravel 5.4执行php artisan preset react命令提示"Command "preset" is not defined"怎么办?

嘿,这个问题我太熟悉了!Laravel 5.4本身根本没内置preset命令——这个实用的命令是从Laravel 5.5才加入框架核心,后来又被移到了laravel/ui扩展包里。所以你直接在5.4里跑php artisan preset react肯定会碰钉子。下面给你两种靠谱的解决办法:

解决办法1:手动配置React环境(适合想自己掌控流程的同学)
  • 先安装React相关的前端依赖,在项目根目录执行:
    npm install react react-dom babel-preset-react --save-dev
    
  • 打开项目根目录的webpack.mix.js,修改内容添加React的编译规则:
    mix.js('resources/assets/js/app.js', 'public/js')
       .sass('resources/assets/sass/app.scss', 'public/css')
       .babel(['resources/assets/js/components/**/*.jsx'], 'public/js/components.js');
    
  • 如果项目里没有.babelrc文件,就新建一个,添加React预设配置:
    {
      "presets": ["es2015", "react"]
    }
    
  • 最后编译前端资源:
    npm run dev
    
    完成后你就可以在resources/assets/js目录下创建React组件(比如Example.jsx),然后在app.js里引入并渲染了。
解决办法2:用第三方适配包快速搞定(省事儿首选)

有开发者专门为Laravel 5.4做了适配的预设包,步骤很简单:

  • 先安装这个第三方包:
    composer require laravel-frontend-presets/react --dev
    
  • 现在就可以跑预设命令了:
    php artisan preset react
    
  • 最后安装前端依赖并编译:
    npm install && npm run dev
    

小提醒

用第三方包的时候,一定要确认它的版本是适配Laravel 5.4的,避免安装后出现兼容性问题。

内容的提问来源于stack exchange,提问作者Vardan

火山引擎 最新活动