Working actix_files and vite configuration for serving static build
This commit is contained in:
		
							parent
							
								
									118ee088b4
								
							
						
					
					
						commit
						89c949ac50
					
				
					 5 changed files with 76 additions and 11 deletions
				
			
		|  | @ -4,6 +4,9 @@ import { qrcode } from 'vite-plugin-qrcode' | |||
| 
 | ||||
| // https://vitejs.dev/config/
 | ||||
| export default defineConfig({ | ||||
|   build: { | ||||
|     outDir: '../server/public' | ||||
|   }, | ||||
|   plugins: [react(), qrcode()], | ||||
|   server: { | ||||
|     port: 3000, | ||||
|  |  | |||
							
								
								
									
										1
									
								
								server/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								server/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1 +1,2 @@ | |||
| /target | ||||
| /public | ||||
|  |  | |||
							
								
								
									
										55
									
								
								server/Cargo.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										55
									
								
								server/Cargo.lock
									
										
									
										generated
									
									
									
								
							|  | @ -19,6 +19,29 @@ dependencies = [ | |||
|  "tracing", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "actix-files" | ||||
| version = "0.6.2" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "d832782fac6ca7369a70c9ee9a20554623c5e51c76e190ad151780ebea1cf689" | ||||
| dependencies = [ | ||||
|  "actix-http", | ||||
|  "actix-service", | ||||
|  "actix-utils", | ||||
|  "actix-web", | ||||
|  "askama_escape", | ||||
|  "bitflags 1.3.2", | ||||
|  "bytes", | ||||
|  "derive_more", | ||||
|  "futures-core", | ||||
|  "http-range", | ||||
|  "log", | ||||
|  "mime", | ||||
|  "mime_guess", | ||||
|  "percent-encoding", | ||||
|  "pin-project-lite", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "actix-http" | ||||
| version = "3.4.0" | ||||
|  | @ -314,6 +337,12 @@ dependencies = [ | |||
|  "zeroize", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "askama_escape" | ||||
| version = "0.10.3" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "atoi" | ||||
| version = "2.0.0" | ||||
|  | @ -1016,6 +1045,12 @@ dependencies = [ | |||
|  "itoa", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "http-range" | ||||
| version = "0.1.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "httparse" | ||||
| version = "1.8.0" | ||||
|  | @ -1262,6 +1297,16 @@ version = "0.3.17" | |||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "mime_guess" | ||||
| version = "2.0.4" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" | ||||
| dependencies = [ | ||||
|  "mime", | ||||
|  "unicase", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "minimal-lexical" | ||||
| version = "0.2.1" | ||||
|  | @ -1732,6 +1777,7 @@ dependencies = [ | |||
| name = "server" | ||||
| version = "0.1.0" | ||||
| dependencies = [ | ||||
|  "actix-files", | ||||
|  "actix-web", | ||||
|  "argon2", | ||||
|  "chrono", | ||||
|  | @ -2281,6 +2327,15 @@ version = "1.17.0" | |||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "unicase" | ||||
| version = "2.7.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" | ||||
| dependencies = [ | ||||
|  "version_check", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "unicode-bidi" | ||||
| version = "0.3.13" | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ edition = "2021" | |||
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||||
| 
 | ||||
| [dependencies] | ||||
| actix-files = "0.6.2" | ||||
| actix-web = "4.4.0" | ||||
| argon2 = { version = "0.5.2", features = ["zeroize"] } | ||||
| chrono = { version = "0.4.31", features = ["serde"] } | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| // #![allow(dead_code, unused_imports)]
 | ||||
| use actix_files::Files; | ||||
| use actix_web::middleware; | ||||
| use actix_web::web::Data; | ||||
| use actix_web::{web::scope, App, HttpServer}; | ||||
| use log::info; | ||||
|  | @ -19,16 +20,20 @@ async fn main() -> std::io::Result<()> { | |||
| 
 | ||||
|     info!("Spinning up server on http://localhost:8080"); | ||||
|     HttpServer::new(move || { | ||||
|         App::new().service( | ||||
|             scope("api") | ||||
|                 .service(get_posts) | ||||
|                 .service(new_post) | ||||
|                 .service(routes::vote) | ||||
|                 .service(test) | ||||
|                 .service(login) | ||||
|                 .service(register) | ||||
|                 .app_data(Data::new(data.clone())), | ||||
|         ) | ||||
|         App::new() | ||||
|             .wrap(middleware::Compress::default()) | ||||
|             .wrap(middleware::Logger::default()) | ||||
|             .service( | ||||
|                 scope("/api") | ||||
|                     .service(get_posts) | ||||
|                     .service(new_post) | ||||
|                     .service(routes::vote) | ||||
|                     .service(test) | ||||
|                     .service(login) | ||||
|                     .service(register) | ||||
|                     .app_data(Data::new(data.clone())), | ||||
|             ) | ||||
|             .service(Files::new("/", "./public").index_file("index.html")) | ||||
|     }) | ||||
|     .bind("localhost:8080")? | ||||
|     .run() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Imbus
						Imbus