javascript - 如何将 React 组件连接到 Laravel Blade
问题描述
我在将 React 添加到我的项目时遇到问题。组件未呈现。这不是SPA项目。
我试过最简单的方法。我已经使用“laravel new reactexample”设置了新项目,接下来我制作了“php artisan preset react”和“yarn run”。之后我添加了欢迎 Blade.php。
Example.js
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
export default class Example extends Component {
render() {
return (
<div className="container">
<div className="row justify-content-center">
<div className="col-md-8">
<div className="card">
<div className="card-header">
Example Component
</div>
<div className="card-body">
I am an example component!
</div>
</div>
</div>
</div>
</div>
);
}
}
if (document.getElementById('example')) {
ReactDOM.render(<Example />, document.getElementById('example'));
}
Welcome.blade.php,片段
<div class="content">
{...}
<div id="example"></div>
{...}
</div>
webpack.mix.js
const mix = require('laravel-mix');
mix.react('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
应用程序.js
require('./bootstrap');
require('./components/Example');
我错过了配置中的某些内容吗?我应该怎么做才能在页面上渲染组件?
解决方案
好的,我找到了溶液。我必须补充
<script src="{{asset('js/app.js')}}" ></script>
到页面。
推荐阅读
- java - 在模板文件中分配 freemarker 变量并读取 FreemarkerExceptionHandler 中的变量
- influxdb - 如何重命名具有相同名称的多个输入处理器的字段
- python - 第一次使用next获取迭代器中的元素,抛出异常
- url-masking - 使用 URL 屏蔽转发正在破坏使用 react gatsby 构建并托管在 netlify 上的站点的 css
- visual-studio - 从 Visual Studio 将多个项目部署到单个 Azure 虚拟机
- php - 无法打开流 Google Map API
- django - Django - 无法在模板中使用变量创建 url
- javascript - Vue.js 有时无法加载组件
- identityserver4 - 使用 Sustainsys.Saml2 的未知加密算法“http://www.w3.org/2000/09/xmldsig#rsa-sha1”
- spotfire - 如何确定用户是否已从 Spotfire 中的一个页面移动到另一个页面?