#はじめに
「C++/Vue.jsでWeb開発とかできるようになってきたけど、もうちょい楽になりたいなぁ」と思い、オレオレフレームワークなものを作ってみました
#作ったもの
Cueというものを作りました
実装にあたってはC++17
から導入されたfilesystem
とcpp-httplibを使用しています
#使い方
Rails
などのようにコマンドライン上でcue
コマンドを実行することで動作します
たとえば、新しいプロジェクトを作成する場合は、
cue new hogehoge
と実行することでhogehoge
というプロジェクトが作成されます
CRUD
のテンプレートを作成したい場合は、
cue scaffold fugafuga
と実行することでfugafuga
という名前のディレクトリが作成され、fugafuga
以下にCRUD
のテンプレートが生成されます
Vueコンポーネントを複数作成する場合には、
cue foo bar bazz
とすることで foo
ディレクトリ以下に bar
とbazz
が作成されます
ヘルプなどは cue help
で表示されます
#やったこと
cpp-httplibとVue.jsのひな型を作成
まず、cpp-httplib
とVue.js
でのひな型を作成しました
作成に関しては別件で書いていたこの以下の記事たちを参考にしました
C++/Vue.js/WebpackでSPAサンプルを作った話
filesystemでのテンプレートコピー
cppreference.comを参考に以下のように実装
#include <filesystem>
#include <string>
namespace fs = std::filesystem;
int main(int argc, char* argv[]) {
std::string argv = argv[1];
fs::path path = argv;
fs::copy("cue", path);
return 0;
}
で、以下のように実行するとコマンドライン引数に渡された名前のディレクトリへと作成されたテンプレートをコピーする
cue hogehoge
ちなみに、cue
ディレクトリ内にはC++/Vue.jsで作成したテンプレートが詰まっています
#作ってみて
今のところは以前より楽ができているのでつくってよかったなと思う
#参考