我在google app引擎上部署了angularjs应用,但是有关于js,css,bower组件和组件目录的问题。 javascript和css未在Google应用引擎上投放。这是我的app目录结构。
application: myappid
version: 1
runtime: python27
threadsafe: true
api_version: 1
handlers:
url: css
static_dir: app/css
mime_type: text/css
url: js
static_dir: app/js
mime_type: text/javascript
url: /components
static_files: components
upload: components
mime_type: text/javascript
url: /bower_components
static_files: /bower_components
upload: /bower_components
mime_type: text/javascript
url: (.*)/.*
static_files: app/index.html
upload: app
url: (.*)
static_files: app
upload: app
这是我的app.yaml文件内容:
INFO 2015-04-23 10:02:33,782 module.py:788] default: "GET /app/ HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,846 module.py:788] default: "GET /app/bower_components/html5-boilerplate/css/normalize.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,847 module.py:788] default: "GET /app/bower_components/html5-boilerplate/css/main.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,854 module.py:788] default: "GET /app/bower_components/angular-ui-grid/ui-grid.min.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,854 module.py:788] default: "GET /app/css/app.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,854 module.py:788] default: "GET /app/bower_components/bootstrap/dist/css/bootstrap.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,854 module.py:788] default: "GET /app/bower_components/angular-ui-select/dist/select.min.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,856 module.py:788] default: "GET /app/bower_components/select2/select2.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,858 module.py:788] default: "GET /app/bower_components/selectize/dist/css/selectize.default.css HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,862 module.py:788] default: "GET /app/bower_components/angular/angular.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,863 module.py:788] default: "GET /app/bower_components/angular-resource/angular-resource.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,864 module.py:788] default: "GET /app/bower_components/angular-route/angular-route.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,864 module.py:788] default: "GET /app/bower_components/html5-boilerplate/js/vendor/modernizr-2.6.2.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,865 module.py:788] default: "GET /app/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,868 module.py:788] default: "GET /app/bower_components/angular-ui-grid/ui-grid.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,869 module.py:788] default: "GET /app/bower_components/angular-ui-select/dist/select.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,870 module.py:788] default: "GET /app/bower_components/angular-sanitize/angular-sanitize.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,870 module.py:788] default: "GET /app/bower_components/selectize/dist/js/selectize.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,871 module.py:788] default: "GET /app/bower_components/angular-ui-router/release/angular-ui-router.min.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,874 module.py:788] default: "GET /app/bower_components/underscore/underscore.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,877 module.py:788] default: "GET /app/js/controllers.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,877 module.py:788] default: "GET /app/bower_components/angular-underscore/angular-underscore.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,877 module.py:788] default: "GET /app/js/app.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,881 module.py:788] default: "GET /app/components/version/version.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,884 module.py:788] default: "GET /app/components/version/version-directive.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,885 module.py:788] default: "GET /app/js/services.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,885 module.py:788] default: "GET /app/components/version/interpolate-filter.js HTTP/1.1" 304 -
INFO 2015-04-23 10:02:33,885 module.py:788] default: "GET /app/js/filters.js HTTP/1.1" 304 -
我在控制台上收到这些错误:
{{1}}
任何人都可以解释什么是错的吗?
答案 0 :(得分:0)
没有必要出错。
您的所有来电均以状态码304返回 304表示自上次访问以来所请求的资源未被修改 304是不错误指示代码。
您的浏览器仍然可以在其缓存中获得请求的结果。
Wikipedia's explanation很简短,但很清楚。
304未修改
表示自版本以来尚未修改资源 由请求标头If-Modified-Since或If-None-Match指定。 这意味着没有必要重新传输资源,因为 客户端仍然有以前下载的副本。
另请参阅RFC,其中包含更多详细信息。
304未修改
如果客户端执行了条件GET请求并且访问权限是 允许,但文件尚未修改,服务器应该 回复此状态代码。 304响应不得包含 message-body,因此始终由第一个空行终止 在标题字段之后。
响应必须包含以下标题字段:
日期,除非第14.18.1节要求省略,否则无时钟源服务器遵守这些规则,并且代理和客户端添加 他们自己的日期对任何收到的回复没有一个(已经 由[RFC 2068]第14.19节规定,高速缓存将运行 正确。
ETag和/或Content-Location,如果标题已发送 在对同一请求的200回复中
- 如果字段值可能会过期,缓存控制和/或变化 与之前任何响应中发送的内容不同 变量如果条件GET使用强缓存验证器(参见第13.3.3节),则响应不应包含其他 实体头。否则(即,条件GET使用弱 验证者),响应不得包含其他实体标题;这个 防止缓存的实体体之间的不一致和更新 头。
如果304响应表明当前没有缓存的实体,那么 缓存必须忽略响应并重复请求而不使用 有条件的。
如果缓存使用收到的304响应来更新缓存条目,那么 缓存必须更新条目以反映给定的任何新字段值 回应。
另请阅读此相关主题 What is the difference between HTTP status code 200 (cache) vs status code 304?
答案 1 :(得分:0)
您在app.yaml中的网址路由不符合您要实现的目标。您正在使用/app/js/foo.js等网址请求javascript文件。你的路由
url: js
static_dir: app/js
匹配以'js'开头的url路径
url: (.*)/.*
static_files: app/index.html
匹配所有带斜杠的路径(例如,your-app.appspot.com / app / js / app.js)并返回app / index.html。
app.yaml中的网址是需要匹配完整路径的regexp,而不是目录或前缀。