Django前台应用无法加载React组件。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django前台应用无法加载React组件。相关的知识,希望对你有一定的参考价值。
我以下 Tranversy Media Django-React教程。. 服务器运行OK后,但我的App.js文件中的组件不显示在index.html中。请大家帮助一下,可能是什么问题。
这是我的项目树。见图
然后是我的app.js
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
class App extends Component {
render() {
return <h1>React App</h1>
}
}
ReactDOM.render(<App />, document.getElementById("app"));
我的index.html
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://bootswatch.com/4/cosmo/bootstrap.min.css">
<title>Lead Manager</title>
{%load static%}
</head>
<body>
<h1></h1>
<div id="app"></div>
<script>src="{%static "frontend/main.js"%}"</script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
webpack.index.js
import App from './components/App';
webpack.config.js
module.exports = {
module: {
rules: [{
test: /.js$/,
exclude: /node_modules/,
use: {
loader:"babel-loader"
}
}]
}
}
后台使用api工作正常。
答案
改变这个
<script>src="{%static "frontend/main.js"%}"</script>
对此
<script src="{%static "frontend/main.js"%}"></script>
以上是关于Django前台应用无法加载React组件。的主要内容,如果未能解决你的问题,请参考以下文章
捆绑为 UMD 的 React 组件在通过另一个 React 应用程序中的脚本标签导入时无法加载依赖项
React 和 Django 网站未在 Heroku 上加载
除非刷新页面,否则React loadable无法在每个新构建上加载组件