终于回京了,刚来第一天填写了各种表格,还接到了公安局的电话,紧张的很。酒店隔离环境还可以,每天的一日三餐也还挺丰盛,就是空间太狭小了不利于活动。
想要留下的代码
1.之前处理一些不常变化的数据文件,都是使用script标签引入的,但这个项目的文件改成了私有读写,这样就没法用这种方法了,所以需要在node层调用oss的接口去bucket中拿数据,使用了aws-sdk
const AWS = require('aws-sdk')
const BaseService = require('./base')
class getFileService extends BaseService {
constructor(args) {
super(args)
const { config, ctx } = this
this.s3 = new AWS.S3({
...config.awsConfig,
logger: {
log(str) {
ctx.logger.info(str)
}
}
})
}
async index(params) {
const { ctx, logger } = this
return new Promise((resolve, reject) => {
this.s3.getObject(params, (err, data) => {
if (err) {
logger.error(
"xxxxxx"
)
return reject(
new Error({
status: 'DOWNLOAD_FILE_ERROR',
code: 500,
message: err
})
)
} else {
let fileContext = data.Body.toString()
fileContext = fileContext.replace(/[\r\n]/g, '')
return resolve(JSON.parse(fileContext))
}
})
})
}
}
module.exports = getFileService
遇到的坑
1.也是上面那个项目,访问oss的,本地调试代码没问题,部署预发就调不通,后来发行是因为这个项目是内网项目,而oss是外网的,除非申请权限,否则不能访问,后来跟运维沟通,说是oss有对应内网的域名,换上之后在预发部署的机器上配置相应的host就可以了
学习
- 阅读软一峰的网络日志收集一下自己绝对比较好的链接
- RSA 的原理与实现
- User-Agent 新方案浏览器向服务器发请求的时候,都会带有一个User-Agent字段,表明客户端的一些软件信息。Chrome 浏览器打算冻结这个字段,本文介绍新方案的细节。
- progressive-image-element一个 HTML 的自定义元素(custom element),可以懒加载网页图片。这个元素的代码非常简单,可以作为学习自定义元素的写法范例。
- Rome,一个新的 JavaScript 工具库Babel 创始人的新作品,把 JS 的主要工具都包括在一个库里。不需要 webpack、eslint、prettier、babel ,它都提供了。它的核心思想是,把基于AST(抽象语法树)的所有功能都统一起来,不要每个工具自己做一次AST解析。