服务器
一个用于本地静态站点开发的小型dev服务器. 基本上是一个包裹周围 页:1 服务器. 叉线 服务器。 。 。 .
import servbot from 'servbot';
const server = servbot({
root: './public/',
reload: true,
fallback: 'index.html'
});
server.listen(8080);
这是一个有观点的叉子,有一些有意排除和范围较小,一些想法取自: 本地w/服务器。 。 。 .
安装
npm install servbot --save-dev
使用量
参见类型 指数.d.ts. servbot接受一个单一的论据, ServbotOptions;并返回实例 ServbotServer。关于默认选项,见下文.
import servbot from 'servbot';
const server = servbot({
// root: string
// Directory to serve. Relative to process.cwd().
root: '.',
// reload: boolean
// Flag to enable manual reload.
reload: false,
// fallback: string
// Filename to fallback to for single-page applications. Relative to `root`.
// Leaving this empty assumes you are not serving a single-page application
fallback: '',
// ignores: RegExp[]
// *Only applicable when `fallback` is provided and `ignores` is not an empty array*.
// A list of patterns to *not* route to your fallback.
// Useful when you want to be able to route non-filetypes to your SPA ("/foo/routename.hi")
// But otherwise, want to "ignore" routes that should be static files ("/main.css", "/js/jquery.js")
ignores: [],
// credentials: object
// TLS Credentials. Providing these enables an HTTPS server.
// See https://nodejs.org/api/https.html#httpscreateserveroptions-requestlistener
credentials: undefined,
// verbose: boolean
// Flag to enable server response logging.
verbose: true
});
// Start server on port 8080
server.listen(8080);
// Close server from new connections
// https://nodejs.org/api/net.html#serverclosecallback
server.close((err) => {
if (err) process.exit();
});
使用手动重装
Servbot 不包含一个文件监视器,以便在文件更改时自动重新加载您的应用程序,而是包含一个 手动 重新装入特性 。 大多数现代前端开发建设工具已经包括了内置的手表功能(建造,上卷,网络包装,包裹等),可以被服务器机器人所利用. 举例来说 滚动,参见 这里。 。 。 .
除了建造工具,你还可以使用类似的东西 廉价表 或者说 监视列表。使用监视列表的例子如下:
import servbot from 'servbot';
import { watch } from 'watchlist';
const server = servbot({
root: './example/static/',
reload: true,
fallback: 'index.html'
});
server.listen(8080);
(async () => {
await watch(['./example/static/'], async () => {
console.log('change detected! reloading...');
server.reload();
});
})();
待办
- 对SPA进行更好的测试
- HTTP/2 支持