[开坑] UPX 开发日记

碎碎念

upx 是一直想做的一个小玩意, 名字是随意取的, 我一开始希望它实现的就是一个简单的 http-server, 所以我采用了我相对熟悉的 nodejs

不过后来写着写着, 发现太好用了, node 配合天衣无缝, 爽歪歪, 现在已经实现了一个简单的 http-server 但是还有打包, 上传 npm 这些操作

直接上链接: https://github.com/luxizhizhong/upx

技术架构

采用了常见的 B-S

不过此时的 S(Server) 是使用的本地的api

前端上, 采用了 react + react-weui (但还是很丑 /逃)

后端采用了 koa 框架, 我是从 express 过渡过来, 上手很快(尽管 express 都已经忘的差不多了..)

采坑

在开发当中, 遇到了很多坑, 不过基本解决了

  1. 怎么创建一个单独进程的(http-server)

我把这个问题想的太复杂了, 直接使用 child_process 创建一个单独的进程

const { fork } = require('child_process')
require('colors')
const clear = require('clear')
module.exports = async (port, path)=> {
  clear()
  let fileName = `${ __dirname }/pullChildServer.js`
  const jsServer = fork(
    fileName,
    [
      `port=${port}`,
      `path=${path}`
    ],
    {
      'stdio': 'ignore', // 父子进程间不建立通道
      'detached': true   // 让子进程能在父进程退出后继续运行
    }
  )
  jsServer.unref()
  return true
}
  1. 怎么在 Array.map 下使用 async and await ?
// https://flaviocopes.com/javascript-async-await-array-map
cosnt asyncFn = async item=> {
  item.isShow = false
  return item
}

cosnt getData = async ()=> {
  return await Promise.all(lists.map(item=> asyncFn(item)))
}

开发日志

我会不断更新

2019-11-02

  • 完成 http-server

猜你喜欢

转载自www.cnblogs.com/kozo4/p/11784963.html
今日推荐