1 Star 0 Fork 0

heerzhang / staticServer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.js 1.91 KB
一键复制 编辑 原始数据 按行查看 历史
//环境控制: 设置 true 开https
const httpsversion = false; //开关 https:// 改成http://
//竟然找不到包函数: http://nodejs.cn/api/http2/class_http2secureserver.html
const http2 = require('http2') //客户端都不支持啊unencrypted HTTP/2都报错
//证书,加域名 ;没有证书的话就 只能用这个
const http = require('http')
const fs = require('fs')
const path = require('path')
const Koa = require('koa');
const KoaSinglePage = require('koa-single-page');
const app = new Koa();
//const static = require('koa-static');
// 配置静态web服务的中间件
//app.use(static(path.join( __dirname, './build')));
//前端静态资源的根目录 web服务。
//要 支持SPA方式; static-spa history-api
// http2服务端代码 koa-static 不支持SPA的URL直接输入刷新方式访问!
//前端build输出的 打包文件:目录固定 /build/**
//上传和拷贝前端
app.use(KoaSinglePage('build'));
app.use(ctx => {
ctx.type = 'html';
ctx.body = fs.createReadStream('./index.html');
})
//todo: HTTPS HTTP2 证书,加域名 版本。
//服务器 CA认证! 代码都找不到: 看文档 http://nodejs.cn/api/http2.html
const server = httpsversion?
http2.createSecureServer({
cert: fs.readFileSync(path.join(__dirname, "./certs/server.crt")),
key: fs.readFileSync(path.join(__dirname, "./certs/server.key"))
}, app.callback())
:
http.createServer({}, app.callback());
//端口,IP, 域名。
//格局域名IP:端口 组合来区分前端网站。
const port=process.env.port || 3765;
server.listen(3765, (err) => {
console.log(`支持SPA的前端 源代码资源 服务器 listening on ${port}, 用${httpsversion? 'HTTPS':'HTTP'}访问`)
})
//前后端 https选择的httpsversion 保持一致,跨域访问.
//开发环境报错的, 无法侥幸心理,看看生产环境而确保部署生产环境能够能不报错,也照样报错。
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/heerzhang/static-server.git
git@gitee.com:heerzhang/static-server.git
heerzhang
static-server
staticServer
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891