如何在金字塔网络视图中 create/setup 一个 angular 2 应用程序
How to create/setup an angular 2 app inside a pyramid web view
我正在尝试使用我的金字塔网络视图创建一个 angular 2 应用程序,我在网上查看过,没有找到任何明确的教程。
我已经设置好了我的金字塔网络框架,我一直在使用 angularjs 来创建我的网页,我现在想改用 angular 2。
如有任何指导,我将不胜感激:)
简短回答:只需为您关心的网址提供一些 html 并将您的 angular 应用程序放在静态文件夹中。 Pyramid 不会假装控制您的静态资产(例如 javascript / angular / 等),这取决于您。
长答案:假设您有以下结构,其中 "app.js" 是已编译的(或未编译,这无关紧要)angular 应用程序...还假设您的 angular 依赖项也在那里,所以一切都可以访问。您需要将其更新为您计划构建 javascript 等
myapp/
- static/
- css/
- main.css
- js/
- app.js
- media/
- views/
- default.py
- templates/
- spa.jinja2
假设您的 app.js
然后有东西要 bootstrap 您的应用到 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 {}
这是最基本的解释,希望您能从中了解各个部分如何组合在一起构建应用程序。
我正在尝试使用我的金字塔网络视图创建一个 angular 2 应用程序,我在网上查看过,没有找到任何明确的教程。
我已经设置好了我的金字塔网络框架,我一直在使用 angularjs 来创建我的网页,我现在想改用 angular 2。
如有任何指导,我将不胜感激:)
简短回答:只需为您关心的网址提供一些 html 并将您的 angular 应用程序放在静态文件夹中。 Pyramid 不会假装控制您的静态资产(例如 javascript / angular / 等),这取决于您。
长答案:假设您有以下结构,其中 "app.js" 是已编译的(或未编译,这无关紧要)angular 应用程序...还假设您的 angular 依赖项也在那里,所以一切都可以访问。您需要将其更新为您计划构建 javascript 等
myapp/
- static/
- css/
- main.css
- js/
- app.js
- media/
- views/
- default.py
- templates/
- spa.jinja2
假设您的 app.js
然后有东西要 bootstrap 您的应用到 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 {}
这是最基本的解释,希望您能从中了解各个部分如何组合在一起构建应用程序。