500-pagelet 中文文档教程

发布于 10年前 浏览 22 项目主页 更新于 3年前

500 Pagelet

版本 npm构建状态DependenciesCoverage Status

此 Pagelet 负责显示服务器错误。 经过 BigPipe 默认提供 500 个 Pagelet。 但是,如果你 需要自定义 500 可以扩展此 Pagelet。 例如改变 默认视图。

Installation

500 Pagelet 通过节点包管理器 (npm) 分发。

npm install --save 500-pagelet

Support

卡着了? 或者不能围绕一个概念或只是想要一些反馈, 我们在 Freenode 上有一个专用的 IRC 频道:

  • IRC Server: irc.freenode.net
  • IRC Room: #bigpipe

仍然卡住了? 创建一个问题。 你的每一个问题都是我们的一个错误 文档,应该更正。 所以,请不要犹豫,创建 问题,其中很多。

Example

在此示例中,500 Pagelet 扩展了自定义视图。 BigPipe 会自动发现这个扩展版本 如果它与其他 pagelet 一起提供给 BigPipe。 请注意,环境变量可以被否决以管理 显示的数据。

'use strict';

//
// Extend the 500 Pagelet with a custom view.
//
var Fivehundred = require('500-pagelet').extend({
  view: '/path/to/my/custom-view.html',  // your custom layout
  env: 'development'                     // defaults to process.env.NODE_ENV
});

//
// Initialise BigPipe server.
//
var pipe = require('bigpipe').createServer(2000, {
  pagelets: [ Fivehundred, ... ]
});

API

以下方法在 500 Pagelet 实例上可用。 大多数是 仅在内部使用。 很少有理由调用这些方法。

new Fivehundred()

public返回 Pagelet

500 构造函数期望提供几个选项,这些 包括:reqrespipe。 最后一个选项是参考 到BigPipe实例,主要是保证相同的Temper 实例被重新使用。 所有代码示例都假定您的文件设置为:

'use strict';

var Fivehundred = require('500-pagelet');
  , fivehundred = new Fivehundred({ options }, new Error('failure'));

Bootstrap.get()

private返回 Pagelet

从提供的错误中提取数据以呈现模板。 如果环境是 production Error.stack 将不会 提供给模板。

fivehundred.get(function render(error, data) {
  // provide data to pagelet.render
});

Debugging

该库使用 Pagelet 中的 diagnostics 模块。 要显示 500 Pagelet 特定的调试消息,请提供 在运行程序或

DEBUG=pagelet:500 node ...

Testing

测试之前会自动在 Travis CI 上运行以确保一切正常 按预期运行。 对于本地开发,我们会自动安装一个 pre-commit 钩子,在您每次提交更改时运行 npm test 命令。 这确保我们不会将任何损坏的代码推送到该项目中。

要在本地运行测试,请确保安装了开发依赖项。

npm test
npm run coverage

License

500-pagelet 在麻省理工学院下发布。

500 Pagelet

Version npmBuild StatusDependenciesCoverage Status

This Pagelet is responsible for displaying server errors. By default the 500 Pagelet is provided with BigPipe. However, if you need a custom 500 you can extend this Pagelet. For example to change the default view.

Installation

The 500 Pagelet is distributed through the node package manager (npm).

npm install --save 500-pagelet

Support

Got stuck? Or can't wrap your head around a concept or just want some feedback, we got a dedicated IRC channel for that on Freenode:

  • IRC Server: irc.freenode.net
  • IRC Room: #bigpipe

Still stuck? Create an issue. Every question you have is a bug in our documentation and that should be corrected. So please, don't hesitate to create issues, many of them.

Example

In this example the 500 Pagelet is extended with a custom view. BigPipe will automatically discover this extended version if it is provided to BigPipe alongside the other pagelets. Note that the enviroment variable can be overruled to manage the data that is displayed.

'use strict';

//
// Extend the 500 Pagelet with a custom view.
//
var Fivehundred = require('500-pagelet').extend({
  view: '/path/to/my/custom-view.html',  // your custom layout
  env: 'development'                     // defaults to process.env.NODE_ENV
});

//
// Initialise BigPipe server.
//
var pipe = require('bigpipe').createServer(2000, {
  pagelets: [ Fivehundred, ... ]
});

API

The following methods are available on the 500 Pagelet instance. Most are only used internally. There is rarely a reason to call these methods.

new Fivehundred()

public, returns Pagelet.

The 500 constructor expects several options to be provided, these include: req, res and pipe. The last option is a reference to the BigPipe instance, mainly to ensure the same Temper instance is re-used. All code examples assume your file is setup as:

'use strict';

var Fivehundred = require('500-pagelet');
  , fivehundred = new Fivehundred({ options }, new Error('failure'));

Bootstrap.get()

private, returns Pagelet.

Extracts the data from the provided Error to render the template. If the environment is production the Error.stack will not be provided to the template.

fivehundred.get(function render(error, data) {
  // provide data to pagelet.render
});

Debugging

The library makes use the diagnostics module from Pagelet. To display the 500 Pagelet specific debug messages, supply the following before running the program or

DEBUG=pagelet:500 node ...

Testing

Tests are automatically run on Travis CI to ensure that everything is functioning as intended. For local development we automatically install a pre-commit hook that runs the npm test command every time you commit changes. This ensures that we don't push any broken code in to this project.

To run tests locally, make sure the development dependencies are installed.

npm test
npm run coverage

License

500-pagelet is released under MIT.

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文