Feta: nav et content
This commit is contained in:
		
							
								
								
									
										21
									
								
								src/App.vue
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								src/App.vue
									
									
									
									
									
								
							| @@ -1,26 +1,19 @@ | ||||
| <template> | ||||
|   <img alt="Vue logo" src="./assets/logo.png"> | ||||
|   <HelloWorld msg="Welcome to Your Vue.js App"/> | ||||
|   <Nav></Nav> | ||||
|   <Content></Content> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import HelloWorld from './components/HelloWorld.vue' | ||||
| import Content from './components/content.vue' | ||||
| import Nav from './components/nav.vue' | ||||
|  | ||||
| export default { | ||||
|   name: 'App', | ||||
|   components: { | ||||
|     HelloWorld | ||||
|     Content, | ||||
|     Nav | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style> | ||||
| #app { | ||||
|   font-family: Avenir, Helvetica, Arial, sans-serif; | ||||
|   -webkit-font-smoothing: antialiased; | ||||
|   -moz-osx-font-smoothing: grayscale; | ||||
|   text-align: center; | ||||
|   color: #2c3e50; | ||||
|   margin-top: 60px; | ||||
| } | ||||
| </style> | ||||
| <style></style> | ||||
|   | ||||
							
								
								
									
										81
									
								
								src/background.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								src/background.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| 'use strict' | ||||
|  | ||||
| import { app, protocol, BrowserWindow } from 'electron' | ||||
| import { createProtocol } from 'vue-cli-plugin-electron-builder/lib' | ||||
| import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer' | ||||
| const isDevelopment = process.env.NODE_ENV !== 'production' | ||||
|  | ||||
| // Scheme must be registered before the app is ready | ||||
| protocol.registerSchemesAsPrivileged([ | ||||
|   { scheme: 'app', privileges: { secure: true, standard: true } } | ||||
| ]) | ||||
|  | ||||
| async function createWindow() { | ||||
|   // Create the browser window. | ||||
|   const win = new BrowserWindow({ | ||||
|     width: 800, | ||||
|     height: 600, | ||||
|     webPreferences: { | ||||
|        | ||||
|       // Use pluginOptions.nodeIntegration, leave this alone | ||||
|       // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info | ||||
|       nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION, | ||||
|       contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION | ||||
|     } | ||||
|   }) | ||||
|  | ||||
|   if (process.env.WEBPACK_DEV_SERVER_URL) { | ||||
|     // Load the url of the dev server if in development mode | ||||
|     await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL) | ||||
|     if (!process.env.IS_TEST) win.webContents.openDevTools() | ||||
|   } else { | ||||
|     createProtocol('app') | ||||
|     // Load the index.html when not in development | ||||
|     win.loadURL('app://./index.html') | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Quit when all windows are closed. | ||||
| app.on('window-all-closed', () => { | ||||
|   // On macOS it is common for applications and their menu bar | ||||
|   // to stay active until the user quits explicitly with Cmd + Q | ||||
|   if (process.platform !== 'darwin') { | ||||
|     app.quit() | ||||
|   } | ||||
| }) | ||||
|  | ||||
| app.on('activate', () => { | ||||
|   // On macOS it's common to re-create a window in the app when the | ||||
|   // dock icon is clicked and there are no other windows open. | ||||
|   if (BrowserWindow.getAllWindows().length === 0) createWindow() | ||||
| }) | ||||
|  | ||||
| // This method will be called when Electron has finished | ||||
| // initialization and is ready to create browser windows. | ||||
| // Some APIs can only be used after this event occurs. | ||||
| app.on('ready', async () => { | ||||
|   if (isDevelopment && !process.env.IS_TEST) { | ||||
|     // Install Vue Devtools | ||||
|     try { | ||||
|       await installExtension(VUEJS_DEVTOOLS) | ||||
|     } catch (e) { | ||||
|       console.error('Vue Devtools failed to install:', e.toString()) | ||||
|     } | ||||
|   } | ||||
|   createWindow() | ||||
| }) | ||||
|  | ||||
| // Exit cleanly on request from parent process in development mode. | ||||
| if (isDevelopment) { | ||||
|   if (process.platform === 'win32') { | ||||
|     process.on('message', (data) => { | ||||
|       if (data === 'graceful-exit') { | ||||
|         app.quit() | ||||
|       } | ||||
|     }) | ||||
|   } else { | ||||
|     process.on('SIGTERM', () => { | ||||
|       app.quit() | ||||
|     }) | ||||
|   } | ||||
| } | ||||
| @@ -1,58 +0,0 @@ | ||||
| <template> | ||||
|   <div class="hello"> | ||||
|     <h1>{{ msg }}</h1> | ||||
|     <p> | ||||
|       For a guide and recipes on how to configure / customize this project,<br> | ||||
|       check out the | ||||
|       <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>. | ||||
|     </p> | ||||
|     <h3>Installed CLI Plugins</h3> | ||||
|     <ul> | ||||
|       <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li> | ||||
|       <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li> | ||||
|     </ul> | ||||
|     <h3>Essential Links</h3> | ||||
|     <ul> | ||||
|       <li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li> | ||||
|       <li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li> | ||||
|       <li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li> | ||||
|       <li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li> | ||||
|       <li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li> | ||||
|     </ul> | ||||
|     <h3>Ecosystem</h3> | ||||
|     <ul> | ||||
|       <li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li> | ||||
|       <li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li> | ||||
|       <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li> | ||||
|       <li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li> | ||||
|       <li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li> | ||||
|     </ul> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|   name: 'HelloWorld', | ||||
|   props: { | ||||
|     msg: String | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <!-- Add "scoped" attribute to limit CSS to this component only --> | ||||
| <style scoped> | ||||
| h3 { | ||||
|   margin: 40px 0 0; | ||||
| } | ||||
| ul { | ||||
|   list-style-type: none; | ||||
|   padding: 0; | ||||
| } | ||||
| li { | ||||
|   display: inline-block; | ||||
|   margin: 0 10px; | ||||
| } | ||||
| a { | ||||
|   color: #42b983; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										21
									
								
								src/components/content.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/components/content.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| <template> | ||||
|   <div class="content"> | ||||
|     Content | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|   name: 'Content', | ||||
|   props: { | ||||
|     msg: String | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <!-- Add "scoped" attribute to limit CSS to this component only --> | ||||
| <style scoped> | ||||
| .content { | ||||
|     background-color: red; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										23
									
								
								src/components/nav.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/components/nav.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| <template> | ||||
|   <nav> | ||||
|   <ul> | ||||
|       <li>Plop</li> | ||||
|       <li>Pipo</li> | ||||
|   </ul> | ||||
|   </nav> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|   name: 'Nav', | ||||
|   props: { | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <!-- Add "scoped" attribute to limit CSS to this component only --> | ||||
| <style scoped> | ||||
| nav { | ||||
|     background-color: green; | ||||
| } | ||||
| </style> | ||||
		Reference in New Issue
	
	Block a user