我正在尝试使用我的金字塔网络视图创建一个angular 2应用程序,我在网上看过,没有找到任何清晰的教程。

我已经完成了金字塔网络框架的所有设置,我一直在使用angularjs创建我的网页,现在我想使用angular 2。

我将不胜感激任何指导:)

最佳答案

简短的答案:只需为您关心的网址提供一些html并将您的角度应用程序放在静态文件夹中。金字塔不假装控制您的静态资产(例如javascript / angular /等),这取决于您。

长答案:假设您具有以下结构,其中“ 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 {}


这是准系统的解释,希望您可以从中了解如何将各个部分组合在一起以构建应用程序。

10-08 09:41
查看更多