有没有办法添加一个全局的catch-all错误处理程序,我可以在其中更改对通用JSON响应的响应?
我无法使用该got_request_exception信号,因为不允许修改响应(http://flask.pocoo.org/docs/0.10/signals/).
相反,所有信号处理程序都以未定义的顺序执行,不会修改任何数据.
我宁愿不包装app.handle_exception函数,因为感觉像内部API.我想我的事情是这样的:
@app.errorhandler()
def handle_global_error(e):
return "Global error"
Run Code Online (Sandbox Code Playgroud)
请注意,errorhandler它不带任何参数,这意味着它将捕获所有没有附加特定错误处理程序的异常/状态代码.我知道我可以使用errorhandler(500)或errorhandler(Exception)捕获异常,但如果我这样做abort(409),它仍将返回HTML响应.
我正在使用带有骨干+骨干表单的require.我目前正在使用RequireJS将代码分成多个文件.我将模型存储在单独的文件中,并希望单独保留表单验证器.
但是,我无法访问在一个文件中定义的变量,在另一个依赖于此文件的文件中.我得到的是Uncaught ReferenceError: isEmptyName is not defined.isEmptyName在验证器中定义并在模型中使用.任何有关RequireJS配置的反馈也值得赞赏.
我的配置:
requirejs.config({
//By default load any module IDs from js/lib
baseUrl: 'js',
paths: {
jquery: 'lib/jquery',
app: 'lib/app',
wizard: 'lib/jquery.bootstrap.wizard.min',
bootstrap: 'lib/bootstrap.min',
underscore: 'lib/underscore-min',
backbone: 'lib/backbone-min',
backboneForms: 'lib/backbone-forms.min',
langSwitcher: 'lib/lang',
cookie: 'lib/cookie',
datepicker: 'lib/bootstrap-datepicker',
mask: 'lib/jquery.maskedinput.min',
validators: 'modules/validators',
// models
personalData: 'models/personal-data',
addressData: 'models/address-data',
workData: 'models/work-data',
productsData: 'models/products-data',
statmentData: 'models/statment-data',
model: 'models/form',
collection: 'collections/form',
view: 'views/form',
setup: 'setup',
send: 'send',
},
shim: {
'underscore': {
deps: ['jquery'],
exports: '_' …Run Code Online (Sandbox Code Playgroud) 即使我包含了我的require-min.js内容,但它并没有paths从我那里获得require.config.我已经使用该data-main方法加载配置文件.
<!--when require.js loads it will inject another script tag
(with async attribute) for scripts/main.js-->
<script data-main="scripts/main" src="scripts/require.js"></script>
Run Code Online (Sandbox Code Playgroud)
您通常会使用数据主脚本来设置配置选项,然后加载第一个应用程序模块.[...]
但是,我用于jQuery的别名不起作用.在我的config.js文件中......
...
paths: {
jQuery: 'ThirdParty/jquery-1.8.3.min'
...
Run Code Online (Sandbox Code Playgroud)
我的index.html如下......
...
<script type='text/javascript' src='js/require.js' data-main='js/config.js'></script>
...
require(['jQuery'], function ($) {
...
Run Code Online (Sandbox Code Playgroud)
这有时会在控制台上引发以下错误:
GET http://<IPADDRESS>/js/jQuery.js 404 (Not Found) require.js:1895
Uncaught Error: Script error for: jQuery
Run Code Online (Sandbox Code Playgroud)
我有时会说,因为,10次中有2次正确加载.我该如何解决这个问题?
免责声明:一个密切相关的问题是" 理解requirejs路径 ".但是,答案并不完整,并没有成为这个具体问题的最佳选择.此外,它是来自官方文档的合理复制粘贴.Mods请在适用的情况下投票.哦,并在适用的情况下编辑它;)