我正在尝试使用我的金字塔网页视图创建一个有角度的2应用程序,我在线查看,没有找到任何明确的教程。
我的金字塔网页框架全部设置,我一直在使用angularjs来创建我的网页,我现在想要使用角度2。
我会感激任何指导:)
答案 0 :(得分:4)
简短回答:只为你关心的网址提供一些HTML,并将你的角度应用程序放在静态文件夹中。金字塔不会假装控制你的静态资产(例如javascript / angular / etc),这取决于你。
答案很长:让我们说你有以下结构,其中" app.js"是编译的(或不是,它没有关系)角应用程序...假设你的角度依赖也在那里,所以一切都是可访问的。你需要更新它,但是你计划构建你的javascript等。
myapp/
- static/
- css/
- main.css
- js/
- app.js
- media/
- views/
- default.py
- templates/
- spa.jinja2
让我们说你的app.js
可以将你的应用程序引导到DOM。
var appElement = document.getElementById('app')
// render angular app on appElement
然后,您在spa.jinja2
模板中获得了典型的单页应用html。注意它是如何从静态文件夹中引用你的js / css的。
<html>
<head>
<link type="stylesheet" src="{{ request.static_url('myapp:static/css/main.css') }}">
</head>
<body>
<div id="app"></div>
<script src="{{ request.static_url('myapp:static/js/app.js') }}"></script>
</body>
</html>
现在添加一个只提供html的路径/视图。
config.add_route('home', '/')
@view_config(route_name='home', renderer='spa.jinja2')
def home_view(request):
return {}
这是准系统的解释,希望你可以看到它们如何结合在一起构建应用程序。