Submit Search
Upload
NuxtでChrome拡張作ってみた
•
1 like
•
860 views
K
kyoheichida
Follow
v-sendai #5にLTで登壇した際の資料です。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
TylerShukert
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
MagicOnion入門
MagicOnion入門
torisoup
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察
cch-robo
JJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組み
Recruit Technologies
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
虎の穴 開発室
Recommended
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
TylerShukert
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
MagicOnion入門
MagicOnion入門
torisoup
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察
cch-robo
JJUG CCC リクルートの Java に対する取り組み
JJUG CCC リクルートの Java に対する取り組み
Recruit Technologies
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
Supabase Edge Functions と Netlify Edge Functions を使ってみる – 機能とその比較 –
虎の穴 開発室
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
私にとってのテスト
私にとってのテスト
Takuto Wada
半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)
Toru Makabe
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
KLab Inc. / Tech
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集
Kei Mesuda
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Riverpodでテストを書こう
Riverpodでテストを書こう
Shinnosuke Tokuda
脱RESTful API設計の提案
脱RESTful API設計の提案
樽八 仲川
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
swamp Sawa
Clojureに入門してみた、2017年秋
Clojureに入門してみた、2017年秋
Satoshi KOBAYASHI
Cloud Nativeとは?
Cloud Nativeとは?
Masaki Yamamoto
hooks riverpod + state notifier + freezed でのドメイン駆動設計
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Shinnosuke Tokuda
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
.NET Core時代のCI/CD
.NET Core時代のCI/CD
Yuta Matsumura
Nuxt+TypeScript+Class構文のはなし
Nuxt+TypeScript+Class構文のはなし
kyoheichida
僕のChrome拡張
僕のChrome拡張
Syo Igarashi
More Related Content
What's hot
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
私にとってのテスト
私にとってのテスト
Takuto Wada
半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)
Toru Makabe
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
KLab Inc. / Tech
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集
Kei Mesuda
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Hori Tasuku
Riverpodでテストを書こう
Riverpodでテストを書こう
Shinnosuke Tokuda
脱RESTful API設計の提案
脱RESTful API設計の提案
樽八 仲川
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
swamp Sawa
Clojureに入門してみた、2017年秋
Clojureに入門してみた、2017年秋
Satoshi KOBAYASHI
Cloud Nativeとは?
Cloud Nativeとは?
Masaki Yamamoto
hooks riverpod + state notifier + freezed でのドメイン駆動設計
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Shinnosuke Tokuda
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
.NET Core時代のCI/CD
.NET Core時代のCI/CD
Yuta Matsumura
What's hot
(20)
Docker Compose 徹底解説
Docker Compose 徹底解説
私にとってのテスト
私にとってのテスト
半日でわかる コンテナー技術 (入門編)
半日でわかる コンテナー技術 (入門編)
Steam ゲーム内購入 サーバーサイド実装について
Steam ゲーム内購入 サーバーサイド実装について
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
GLSLtech2018 レイマーチングで半歩差のつく小技集
GLSLtech2018 レイマーチングで半歩差のつく小技集
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Pythonによる黒魔術入門
Pythonによる黒魔術入門
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
Riverpodでテストを書こう
Riverpodでテストを書こう
脱RESTful API設計の提案
脱RESTful API設計の提案
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
Clojureに入門してみた、2017年秋
Clojureに入門してみた、2017年秋
Cloud Nativeとは?
Cloud Nativeとは?
hooks riverpod + state notifier + freezed でのドメイン駆動設計
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
DockerコンテナでGitを使う
DockerコンテナでGitを使う
.NET Core時代のCI/CD
.NET Core時代のCI/CD
Similar to NuxtでChrome拡張作ってみた
Nuxt+TypeScript+Class構文のはなし
Nuxt+TypeScript+Class構文のはなし
kyoheichida
僕のChrome拡張
僕のChrome拡張
Syo Igarashi
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's image
Kazushi Kamegawa
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
mganeko
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
Tadahiro Ishisaka
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
最新追従 バリバリの NetCommons3 紹介
最新追従 バリバリの NetCommons3 紹介
Mitsuru Mutaguchi
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
My portfolio
My portfolio
ssuserc2210b
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Tetsuyuki Kobayashi
Chrome Extensionでスクリーンシェアをやってみる
Chrome Extensionでスクリーンシェアをやってみる
Yusuke Naka
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Kouji Hosoda
Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史
Hirono Jumpei
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
(たぶん)やさしいUnity
(たぶん)やさしいUnity
dj_kusuha
Similar to NuxtでChrome拡張作ってみた
(20)
Nuxt+TypeScript+Class構文のはなし
Nuxt+TypeScript+Class構文のはなし
僕のChrome拡張
僕のChrome拡張
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's image
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
最新追従 バリバリの NetCommons3 紹介
最新追従 バリバリの NetCommons3 紹介
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
My portfolio
My portfolio
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Chrome Extensionでスクリーンシェアをやってみる
Chrome Extensionでスクリーンシェアをやってみる
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Chainer on Azure 2 年の歴史
Chainer on Azure 2 年の歴史
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
(たぶん)やさしいUnity
(たぶん)やさしいUnity
NuxtでChrome拡張作ってみた
1.
NuxtでChrome拡張をつくってみた NuxtでChrome拡張をつくってみた
2.
⾃⼰紹介 千⽥恭兵(ちだ きょうへい) 株式会社シムネット UXシステム開発部 元々バックエンドメインだったけど最近はフロントエ ンドに⽚⾜突っ込んできた PHP(5年くらい) html /
javascript / vue / nuxt(1年くらい) 個⼈では Go / python / Rust(どれも浅 い) 2019茨城国体ぷよぷよ宮城県代表 NuxtでChrome拡張をつくってみた
3.
Chrome拡張といえば Vuejsで開発した経験のある⽅にはおなじみのこの画⾯ ⾒やすいし欲しい機能が潤沢だしでこのUI素晴らしいですよね。 NuxtでChrome拡張をつくってみた
4.
・・・真似してDevToolに置けないかな NuxtでChrome拡張をつくってみた
5.
やってみた(WIP) NuxtでChrome拡張をつくってみた
6.
構成 Nuxtjs v2.11 TypeScript Vuetify バックエンドからカスタムヘッダを経由して データを取得し、整形して表⽰するだけのもの。 NuxtでChrome拡張をつくってみた
7.
どうやって作ったのか chrome拡張は⼀定の構成さえ抑えておけば 簡単な manifest.json を書けば作れちゃいます。 詳しいことは公式ドキュメントに。(English
Only) NuxtでChrome拡張をつくってみた
8.
vue-web-extensionを参考にしつつ作成。 manifest.jsonを書いて、 /static/ 直下に設置。 devtools.html
を読み込みます。 { "name": "profile_viewer", "version": "0.0.0.2", "manifest_version": 2, "browser_action": { "default_title": "plz press F12" }, "devtools_page": "devtools.html", "permissions": [ "activeTab", "webRequest" ] } NuxtでChrome拡張をつくってみた
9.
devtools.htmlの中⾝はdevtools.jsを呼ぶだけ <script src="devtools.js"></script> devtools に
panels を create するよって書いて nuxt generate devtools.js chrome.devtools.panels.create( 'ProfilerViewer', // title 'icon.png', // icon 'index.html', // first page (panel) => {} // callback function ) こんな感じの構成に。 NuxtでChrome拡張をつくってみた
10.
chrome://extensions を開き、「パッケージ化されていない拡張機能を読み込む」からさきほど作成 した manifest.json
が含まれるフォルダを選択し、再起動。 NuxtでChrome拡張をつくってみた
11.
できました NuxtでChrome拡張をつくってみた
12.
ハマりどころ1. ルーティング ・普通に nuxt
generate しただけだと、恐らく page not found エラーが発⽣する。 →devToolsで表⽰する部分のURLは chrome-extention://~~~~~~~~/index.html のようになって いる。 → index.vue で作られるファイルは index.html 。 しかし、Vue Routerのルーティングは / →devToolsにはDirectoryIndexが存在しないため、発⽣。 NuxtでChrome拡張をつくってみた
13.
ハマリどころ1の対策 index.html がリクエストされたら pages/index.vue
を呼び出すようにする。 nuxt.config.js router: { extendRoutes(routes, resolve) { routes.push({ name: 'index.html', path: '*', component: resolve(__dirname, 'pages/index.vue') }) } }, NuxtでChrome拡張をつくってみた
14.
ハマりどころ2. ディレクトリ構成 ・ nuxt
generate 時に設定されている publicPath は /_nuxt/ (js、ライセンスファイルの設置先) →アンダースコアから始まるディレクトリが正常に読み込めない仕様 NuxtでChrome拡張をつくってみた
15.
ハマりどころ2の対策 ビルド時の出⼒先を変えてあげればOK nuxt.config.js build: { /* ** You
can extend webpack config here */ extend(config, ctx) {}, publicPath: process.env.NODE_ENV === 'dev' ? '/_nuxt/' : 'pb' } NuxtでChrome拡張をつくってみた
16.
この⼆点さえ抑えておけばあとは普通のWebページ作る要領でOK vuexもvue routerもそのまま利⽤できるので、考えることが少なくメンテナブルに実装できます。 ※余談: vuex-module-decorators
めっちゃいいです NuxtでChrome拡張をつくってみた
17.
宣伝 宣伝
18.
シムネットは、業界 No.1のブリーダー仲介サイト(みんなのブリーダー)やペットのECサイト/コミュニティ サイトを完全⾃社開発・運営している会社です。 エンジニア/デザイナー/ディレクター/ライター/コールセンター/倉庫など⾃社サービス運営に必要な部署が 全て揃っており連携しながらサービス運営しています。 業績も連続で上がっており、⾃社開発のため厳しい納期がなく残業少なめです! 宣伝
19.
こんな環境で開発/運営しています 今後も⾊々やりたいことがありますが、エンジニアが⾜りていません! サービスを育てたい 勉強会や⾃学⾃習で学んだ知識を業務に挑戦できる現場で働きたい ⽇々技術の話題が⾶び交う刺激的な現場で働きたい ⾊々挑戦してフルスタックエンジニアを⽬指したい かわいい動物の画像/動画に癒やされながら仕事がしたい Mac/Win慣れている環境で働きたい こんな⽅は、是⾮⼀緒に働きましょう!ご応募お待ちしております! 宣伝
20.
ご静聴ありがとうございました 宣伝
Download now