
æ»ã¬ã»ã©åèã«ããã¦ããã ãããµã¤ã
åºæ¬çã«ã¯ä¸è¨ã®ãµã¤ããåèã«é²ããã°ããã¾ãã(æé«ã®è¨äºãããã¨ããããã¾ãã大æè¬ç¥)
æ¬è¨äºã§ã¯ä¸è¨ã§ç´¹ä»ããã¦ããããããªãã¼ããã¨ã©ã¼ã§åããªãã£ããããå¥ã®æ¹æ³ã§ããããªãã¼ãã§ããã®ã§ç´¹ä»ãããã
ç°å¢
- typescript 4.3.2
- webpack 5.38.1
- node 15.13.0
- yarn 1.22.10
æçµå½¢
å ã«æçµå½¢ãè¼ãã¦ããã
content_scriptsã®ã¿å¯¾å¿ã¨ãããããããªããããã ã«ãªã£ã¦ããã
ãã£ã¬ã¯ããªæ§é
. âââ dist â  âââ background.js â  âââ main.js â  âââ manifest.json âââ manifest.json âââ package.json âââ src â  âââ background.js â  âââ main.tsx âââ tsconfig.json âââ webpack.config.js âââ yarn.lock
background.jsãåå¨ãã¦ããã®ã¯ãã®ã¡ã«èª¬æããããããªãã¼ãç¨ã
ããããªãã¼ã
ä¸è¨ãµã¤ãã§ç´¹ä»ããã¦ããwebpack-extension-reloaderã¯2å¹´åã«æ´æ°ãæ¢ã¾ã£ã¦ãããã©ã°ã¤ã³ã§ãã©ããwebpack 5ã ã¨åããªãã£ã½ãã代ããã«crx-hotreloadã使ãã
ã¤ã³ã¹ãã¼ã«
yarn add crx-hotreload
src/background.jsã«ã¯ä¸è¨1è¡ãè¨è¼
import hotreload from 'crx-hotreload';
webpack.config.js
module.exports = { entry: { main: './src/main.tsx', // 追å background: './src/background.js', },
manifest.json
// 追å "background": { "scripts": [ "background.js" ] },
package.jsonã«devã³ãã³ãã追å
"scripts": { "build": "webpack --mode production", // 追å "dev": "webpack --mode development --watch", },
ããã§yarn devãå®è¡å¾ã試ãã«src/main.tsxãç·¨éãã¦ã¿ãã¨ãããããªãã¼ãããããã¨ã確èªã§ããã¨æãã¾ãã
æ´æ°ãããªãæ¹ã¯ãä¸åº¦chrome://extensions/ããæ´æ°ãã¿ã³ãã¯ãªãã¯ãã¦ããã±ã¼ã¸ãèªã¿è¾¼ã¿ç´ãã¨ãããããªãã¼ããããããã«ãªãã¨æãã¾ãã
çµãã
ããããChromeæ¡å¼µä½ããã¨èªä½å°ãªããªã£ã¦ãããã©ãReactã§éçºã§ããã®ã¯æ°æã¡ããã