时隔两个月,我又基本写好了一个开源项目,这次给大家带来的是一个在线代码编辑器。
在两个月前我发布了我的个人第一个项目 create-neat 脚手架,而这次的在线代码编辑器使用的构建工具就是基于这个脚手架搭建的。
首先先上地址:
Github 地址 :github.com/xun082/onli...
在线预览 :online-edit.wangblogs.top/
一、背景 📖
这个项目没什么特别的背景,首先就是好玩,其次就是好玩,再其次就是非常好玩。
二、技术栈 🧰
目前整个技术为纯前端,后期会添加后端,并且会实现在线协调编辑功能。
- React 18
- WebContainer
- Typescript
- Webpack
三、效果展示 🚩
当输入 URL 之后会看到如下界面:
![](https://file.jishuzhan.net/article/1696779878122131457/41bee8ac28124bfc99f185f084cbe182.webp)
首页的话功能点不多,还没有空写,只有一个逻辑处理,点击新建代码片段即可:
![](https://file.jishuzhan.net/article/1696779878122131457/54e6fbd9b1414aab9cb66ef64e7c2d32.webp)
这里新建空白文档是直接打开编辑器,而 打开文件夹
则是选择本地文件,如下图所示:
![](https://file.jishuzhan.net/article/1696779878122131457/d0eb5211310a4263bcb3ee1e8f09457b.webp)
选择特定文件之后会自动跳转到编辑页,如下图所示:
![](https://file.jishuzhan.net/article/1696779878122131457/bfa0a11ca96f4708b5f7f0e3cfb79f86.webp)
当进入到这个页面之后,你可以根据你要选择的项目,执行 npm
命令安装相对应的依赖包并运行起来,如下图所示:
![](https://file.jishuzhan.net/article/1696779878122131457/8435914f24844d659963c31aa4a5ddef.webp)
以来安装完成之后,就可以启动项目了,执行项目中 package.json
中的启动命令 pnpm start
:
![](https://file.jishuzhan.net/article/1696779878122131457/1031d8d9195d4912a358a478ff473ead.webp)
效果成功展示。
考虑到一些本地项目自带 prettier
,在设置这里提供了一个全局的 prettier
代码格式化和一个可选的 prettier
配置:
![](https://file.jishuzhan.net/article/1696779878122131457/ef909422ed744b15a6d00103d2430941.webp)
在这里你可以选择你的 prettier
配置文件所在的目录地址,如果不需要使用的话,你可以配置一些全局的 prettier 配置。
在这里还有一些就是文件的增删改操作:
![](https://file.jishuzhan.net/article/1696779878122131457/48ed963e6d804470914cf8916bec2c27.webp)
还有一个就是你可以在终端里面执行 create-react-app
和 create-vite
等脚手架工具,如下图所示:
![](https://file.jishuzhan.net/article/1696779878122131457/580efa4115a44f018f50e6a3a15ce912.webp)
项目创建成功,由于终端有点丑陋,还没有更改,暂时无法监听到什么时候命令执行完成,所以需要手动刷新一下文件目录:
![](https://file.jishuzhan.net/article/1696779878122131457/5b7b62ab9d9b4fa982c2338b115c23f5.webp)
![](https://file.jishuzhan.net/article/1696779878122131457/5eca2f7ab60f4e448afafe71a155964f.webp)
哈哈,项目成功启动。
四、未来 📕
相关需求或者任务列表会在 issue 里面发布,感兴趣的朋友可以领取任务然后开发,我也会逐步完善 GitHub 上面的一些配置。
后期会逐步完善这些功能和 ui。
会逐步添加一些重大功能,例如:
- 下载文件到本地
- 关联 Github 仓库
- 在线协调编辑
- 等等......
靠着这个项目我是拿到了不少大厂的面试机会,虽然我菜并没有通过,但是这个项目会一直维护并且发扬光大的哈哈哈哈哈。并且会将这个项目作为毕业设计。
五、如何贡献 🍵
目前还没有说什么规范做到如何捐献,你想怎么捐献都可以,本人比较闲,看到没问题之后都会立即合并的。
如果你正在使用这个项目或者对这个项目感兴趣,可以通过以下方式支持我,这也是一种贡献的方式:
- Star、Fork、Watch 一键三连 🚀🚀🚀
最后再贴一下项目地址:
Github 地址 :github.com/xun082/onli...