docs: update code case
This commit is contained in:
		
							parent
							
								
									e6b82ec838
								
							
						
					
					
						commit
						8e0d46f23a
					
				
							
								
								
									
										20
									
								
								README.md
								
								
								
								
							
							
						
						
									
										20
									
								
								README.md
								
								
								
								
							| 
						 | 
				
			
			@ -74,11 +74,9 @@ Once `dev` or `build` npm-script executed will be generate named `dist` folder.
 | 
			
		|||
  import fs from 'fs'
 | 
			
		||||
  import { contextBridge, ipcRenderer } from 'electron'
 | 
			
		||||
 | 
			
		||||
  // Expose Electron, NodeJs API to Renderer-process
 | 
			
		||||
  contextBridge.exposeInMainWorld('bridge', {
 | 
			
		||||
    fs,
 | 
			
		||||
    ipcRenderer: withPrototype(ipcRenderer),
 | 
			
		||||
  })
 | 
			
		||||
  // --------- Expose some API to Renderer-process. ---------
 | 
			
		||||
  contextBridge.exposeInMainWorld('fs', fs)
 | 
			
		||||
  contextBridge.exposeInMainWorld('ipcRenderer', ipcRenderer)
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* **src/renderer/src/global.d.ts**
 | 
			
		||||
| 
						 | 
				
			
			@ -86,19 +84,17 @@ Once `dev` or `build` npm-script executed will be generate named `dist` folder.
 | 
			
		|||
  ```typescript
 | 
			
		||||
  // Defined on the window
 | 
			
		||||
  interface Window {
 | 
			
		||||
    bridge: {
 | 
			
		||||
      fs: typeof import('fs')
 | 
			
		||||
      ipcRenderer: import('electron').IpcRenderer
 | 
			
		||||
    }
 | 
			
		||||
    fs: typeof import('fs')
 | 
			
		||||
    ipcRenderer: import('electron').IpcRenderer
 | 
			
		||||
  }
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* **src/renderer/src/main.tsx**
 | 
			
		||||
* **src/renderer/src/main.ts**
 | 
			
		||||
 | 
			
		||||
  ```typescript
 | 
			
		||||
  // Use Electron, NodeJs API in Renderer-process
 | 
			
		||||
  console.log('fs', window.bridge.fs)
 | 
			
		||||
  console.log('ipcRenderer', window.bridge.ipcRenderer)
 | 
			
		||||
  console.log('fs', window.fs)
 | 
			
		||||
  console.log('ipcRenderer', window.ipcRenderer)
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
## Shown
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,7 +64,7 @@
 | 
			
		|||
 | 
			
		||||
> 🚧 因为安全的原因 Electron 默认不支持在 渲染进程 中使用 NodeJs API,但是有些小沙雕就是想这么干,拦都拦不住;实在想那么干的话,这里有个 👉 npm 包 **[vitejs-plugin-electron](https://www.npmjs.com/package/vitejs-plugin-electron)** 或者使用另一个模板 **[electron-vite-boilerplate](https://github.com/caoxiemeihao/electron-vite-boilerplate)**
 | 
			
		||||
 | 
			
		||||
#### 推荐所有的 NodeJs、Electron API 通过 `Preload-script` 注入到 渲染进程中
 | 
			
		||||
**推荐所有的 NodeJs、Electron API 通过 `Preload-script` 注入到 渲染进程中,例如:**
 | 
			
		||||
 | 
			
		||||
* **src/preload/index.ts**
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -72,11 +72,9 @@
 | 
			
		|||
  import fs from 'fs'
 | 
			
		||||
  import { contextBridge, ipcRenderer } from 'electron'
 | 
			
		||||
 | 
			
		||||
  // Expose Electron, NodeJs API to Renderer-process
 | 
			
		||||
  contextBridge.exposeInMainWorld('bridge', {
 | 
			
		||||
    fs,
 | 
			
		||||
    ipcRenderer: withPrototype(ipcRenderer),
 | 
			
		||||
  })
 | 
			
		||||
  // --------- Expose some API to Renderer-process. ---------
 | 
			
		||||
  contextBridge.exposeInMainWorld('fs', fs)
 | 
			
		||||
  contextBridge.exposeInMainWorld('ipcRenderer', ipcRenderer)
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* **src/renderer/src/global.d.ts**
 | 
			
		||||
| 
						 | 
				
			
			@ -84,19 +82,17 @@
 | 
			
		|||
  ```typescript
 | 
			
		||||
  // Defined on the window
 | 
			
		||||
  interface Window {
 | 
			
		||||
    bridge: {
 | 
			
		||||
      fs: typeof import('fs')
 | 
			
		||||
      ipcRenderer: import('electron').IpcRenderer
 | 
			
		||||
    }
 | 
			
		||||
    fs: typeof import('fs')
 | 
			
		||||
    ipcRenderer: import('electron').IpcRenderer
 | 
			
		||||
  }
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
* **src/renderer/src/main.tsx**
 | 
			
		||||
* **src/renderer/main.ts**
 | 
			
		||||
 | 
			
		||||
  ```typescript
 | 
			
		||||
  // Use Electron, NodeJs API in Renderer-process
 | 
			
		||||
  console.log('fs', window.bridge.fs)
 | 
			
		||||
  console.log('ipcRenderer', window.bridge.ipcRenderer)
 | 
			
		||||
  console.log('fs', window.fs)
 | 
			
		||||
  console.log('ipcRenderer', window.ipcRenderer)
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
## 效果
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue