@carverry/core
v0.3.0
Published
这个包承接了carverry的命令行、UI和本地应用直接的通信服务、核心插件等相关业务;
Downloads
20
Readme
@carverry/core
这个包承接了carverry
的命令行、UI
和本地应用直接的通信服务、核心插件等相关业务;
项目结构
cli
:脚手架相关功能;plugins
:核心插件,主要处理IO
相关的功能;server
:包含一个迷你json
数据库文件、基于websocket
的通信服务和一个纯http
服务(给@carverry/app
提供相应信息的获取和交互);template
:模板文件,用于初始化;typings
:TS
类型定义;utils
:项目通用工具函数;
技术栈
ts-node
:node
的一个TS
运行时,即可以在node
环境下直接运行TS
;farrow
:基于TS
的轻量化服务框架,语法简单;ws
:提供websocket
相关服务;commander
:定制命令行参数;inquirer
:可交互式命令行;ora
:命令行loading
状态;chalk
:彩色,格式化命令行输出;
基于ts-node
的纯ESM
写法
整个项目基于ESM
写法,所以有些地方需要注意一下;
- ESM support: soliciting feedback · Issue #1007 · TypeStrong/ts-node:
ts-node
官方指南 - Pure ESM package:万恶之源,由于要使用这个
lowdb
包,这个包最新版本只提供纯ESM
版本 - How to import JSON files in ES modules (Node.js) | Stefan Judis Web Development:如何在
node esm
模式下加载json文件
限制
- 不能直接使用
__dirname
变量 --experimental-loader
选项(指定node loader
)仍是一个实验选项,在未来版本可能会有改变;