我正在构建一个示例的全栈应用,前端是Angular 6,后端是Django 2.02。整个代码在这里: https://github.com/shivkiyer/django-angular
我通过执行“ ng serve”来启动Angular开发服务器,并在Django上进行了“ python manage.py runserver --settings = django_angular.settings.development”,从而在开发模式下工作。我访问localhost:4200上的Angular服务器,该服务器对localhost:8080进行API调用
当我在Angular终端上执行“ ng build --output-hashing none”并继续使用Django dev服务器时,一切都很好,我可以从本地主机:8080完全访问该应用程序。
当我在Angular终端上执行“ ng build --prod --output-hashing none”并运行Django dev服务器时,在ng build上没有得到任何编译错误,但出现了运行时错误。首先,我的Bootstrap样式没有显示。而且我在控制台中得到了错误:
GET http://localhost:8080/static/styles.js net::ERR_ABORTED
GET http://localhost:8080/static/vendor.js net::ERR_ABORTED
当我进入Django生产模式时。我设置DEBUG = False,并将本地计算机IP地址以及127.0.0.1和localhost添加到ALLOWED_HOSTS。我做了一个“ python manage.py collecstatic”。当我使用“ python manage.py runserver --settings = django_angular.settings.production”运行服务器时,根本没有页面。我收到这些错误:
Uncaught SyntaxError: Unexpected token < runtime.js:2
Uncaught SyntaxError: Unexpected token < polyfills.js:2
Uncaught SyntaxError: Unexpected token < styles.js:2
Uncaught SyntaxError: Unexpected token < vendor.js:2
Uncaught SyntaxError: Unexpected token < main.js:2
当我在Google Chrome浏览器中检出其中任何一个时,都会显示一个HTML页面:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Frontend</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
</head>
<body>
<app-root></app-root>
<script type="text/javascript" src="/static/runtime.js"></script>
<script type="text/javascript" src="/static/polyfills.js"></script>
<script type="text/javascript" src="/static/styles.js"></script>
<script type="text/javascript" src="/static/vendor.js"></script>
<script type="text/javascript" src="/static/main.js"></script>
</body>
</html>
但是在我计算机的静态文件夹中,我看到了缩小的JS文件。
所以,我的问题: