【问题标题】:bundling not working捆绑不起作用
【发布时间】:2015-06-30 02:43:49
【问题描述】:

我是烧瓶和 angularjs 的新手。我正在尝试根据 here 提供的说明使用 bundle(assets)。

我已经安装了所需的 jsmin,并相应地在 html 部分调用我的过滤器 {% assets "common_js" %} <script src="{{ ASSET_URL }}"></script> {% endassets %}

这里 common_js 包已经声明注册了。

from flask.ext.assets import Environment, Bundle
common_js = Bundle("datepicker.js",filters='jsmin', output='output.js')
assets_env.register('common_js',common_js)

我可以在服务器终端上看到的输出是 INFO 2015-06-30 02:18:44,606 module.py:790] default: "GET /%7B%7B%20ASSET_URL%20%7D%7D HTTP/1.1" 404 2322 谁能指出我错过了什么?任何帮助表示赞赏。 谢谢。

【问题讨论】:

  • 你是如何渲染模板的?
  • @app.route('/') def index(): return make_response(open('angular_flask/templates/index.html').read())

标签: angularjs python-2.7 flask bundling-and-minification


【解决方案1】:

您正在打开模板文件,但没有渲染它。

@app.route('/')
def index():
    return render_template('index.html')

更新

渲染模板时,您只需要其相对于模板文件夹的路径。您不需要像使用open 读取文件时那样相对于工作目录的路径。

【讨论】:

  • 但如果我包含脚本标签而不是捆绑包,它可以正常工作。
  • 因为脚本标签是HTML。这是由浏览器处理的。 Jinja 标签需要由服务器端的 Jinja 处理。如果您在浏览器中查看源 HTML,您还会看到 {% assets ... %} 模板标签。
  • 现在我收到这个错误:raise TemplateNotFound(template) TemplateNotFound: angular_flask/templates/index.html.
  • 我猜你只需要'index.html'。我会更新答案。
  • 感谢您的回答。但是现在我得到了这个“错误:[$injector:unpr] Unknown provider: roleProvider
猜你喜欢
  • 2014-12-28
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多