Zenn
Closed5

ReactでChrome拡張機能を作りたい

たーけたーけ

yarn dev時のパスのエラー

C:\Users\---\Documents\path\node_modules\@crxjs\vite-plugin\node_modules\fs-extra\lib\mkdirs\utils.js:16       
      const error = new Error(`Path contains invalid characters: ${pth}`)
                    ^

Error: Path contains invalid characters: C:/Users/---/Documents/path/src/C:\Users\---\Documents\path\dist/content

相対パス・絶対パスの間違いな感じがするが…。

関連Issue
https://github.com/sinanbekar/browser-extension-react-typescript-starter/issues/69

とりあえず、/vite.config.ts

  build: {
-    outDir: resolve(__dirname, "dist"),
+    outDir: "/Users/---/Documents/path/dist",
    rollupOptions: {

こうすれば動く。
ただし、こうするとyarn buildの時に失敗してしまう。

Windowsのファイルシステムの問題な気がしたので、WSLでやってみたら動いた。
(WSL…Windows内でlinuxを動かすツール。環境構築は以下のリンクなどを参考に。)
https://qiita.com/toshi772/items/05f3c7e3a99df42d4cec

今後はWSL上で開発することにする。

たーけたーけ

service workerの読み込み失敗

yarn devでサーバーを起動し、options・popupなどを開くとこのような状態になってしまった。
エラー画像

関連Issue
https://github.com/crxjs/chrome-extension-tools/issues/918

Chromeのバージョンアップが原因らしい。
それに伴って関連するパッケージもアップデートされているので、それを使う。

/package.jsonを手動で書き換えた。(あまり良くないと思うが他のエラーが起きてしまったので…)

  "devDependencies": {
-    "@crxjs/vite-plugin": "^2.0.0-beta.17",
+    "@crxjs/vite-plugin": "^2.0.0-beta.32",
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^14.0.0",
    "@testing-library/user-event": "^14.4.3",

そのあとyarn installyarn devで動いた!

たーけたーけ

Denying load of chrome-extension://_extension-id_/vendor/react-refresh.js

Resources must be listed in the web_accessible_resources manifest key in order to be loaded by pages outside the extension.

manifest.json内のresources・matches・use_dynamic_urlなどを変えてみたが動かない。

解決

間違えて、現在サーバーを動かしていないフォルダを拡張機能に設定してしまっていた。
複数の拡張機能を同時に作っている方はご注意を!!

このスクラップは10日前にクローズされました
ログインするとコメントできます