LoginSignup
0
0

Electron + Vite + Tailwind CSS

Last updated at Posted at 2024-01-30

ちょっとDesktopアプリを作る必要がでてきたのでElectronを触ってみた。

https://github.com/alex8088/electron-vite
https://developer.mamezou-tech.com/blogs/2023/05/22/electron-vite/

プロジェクトの作成

$ yarn create @quick-start/electron
$ cd プロジェクト名
$ yarn
$ yarn dev

TypeScriptのみNoにした

cssはTailwind CSSを使ってみる

$ yarn add -D tailwindcss
$ npx tailwindcss init

tailwind.config.jsのcontentを以下にする

['./src/renderer/src/**/*.{vue,js,ts,jsx,tsx}', './src/renderer/index.html'],

./src/renderer/src/assets/input.cssを作って中身は以下

@tailwind base;
@tailwind components;
@tailwind utilities;

./src/renderer/main.jsのcssを置き換え

import './assets/output.css'

ビルドしてWatch

$ npx tailwindcss -i ./src/renderer/src/assets/input.css -o ./src/renderer/src/assets/output.css --watch

ターミナルの別ウインドウを開いて起動

$ yarn dev

cssを変えたのでレイアウトが崩れているのがわかる
スクリーンショット 2024-01-30 16.16.51.png

./src/renderer/src/App.vueを編集してTailwindのクラスに変更する(例えばElectronロゴのimgタグのclassを'w-24 h-24 rounded-full mx-auto'とかにしてみる)
変更が反映されていれば導入完了。

がんばって書き換えてオリジナルに近づけてみた。
スクリーンショット 2024-01-30 16.09.14.png

最終的に作りたかったものはこれなのだがElectronのバグ?で目的を達成できなかった。何かというと(続)SVG帳票の一連の流れでWebアプリからプリンタをコントロールしたかったのだ。ダークモードにも簡単に対応できたりして面白かったのだが残念。ネイティブで作るしかないのか。

スクリーンショット 2024-02-14 12.03.01.png

gitに残骸を上げときます。誰かわかる人がいたら教えてください。


その後、Windowsネイティブで作ってみた。WebView2にPDFを読み込んで印刷している。できないこともあるが一応思い描いてた動きはする(ブラウザからダイアログなしで印刷される様はちょっと新鮮かもしれない)。Edgeが入ってないと使えないのが難点だがまぁもういいでしょう。しかし、これのMac版も作るのか...。

スクリーンショット 2024-03-19 9.40.33.png


Mac版もかなり時間がかかったがなんとか目処がついた。情報が少ないのでChatGPT、Claude 3様さまだった。

スクリーンショット 2024-03-19 9.34.43.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0