hello

command
v0.29.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2025 License: Unlicense Imports: 5 Imported by: 0

README

WebAssembly Test Server

Simple Go web server for serving WebAssembly files with correct MIME types.

Quick Start

# Build and run the server
go run server.go

# Or with custom port
go run server.go -port 3000

# Or serve from a different directory
go run server.go -dir /path/to/wasm/files

Build and Install

# Build binary
go build -o wasm-server server.go

# Run
./wasm-server

# Install to PATH
go install

Usage

Once the server is running, open your browser to:

The server will serve:

  • index.html - Main HTML page
  • hello.js - JavaScript loader for WASM
  • hello.wasm - WebAssembly binary module
  • hello.wat - WebAssembly text format (for reference)

Files

  • server.go - Go web server with WASM MIME type support
  • index.html - HTML page that loads the WASM module
  • hello.js - JavaScript glue code to instantiate and run WASM
  • hello.wasm - Compiled WebAssembly binary
  • hello.wat - WebAssembly text format source

Building WASM Files

From WAT (WebAssembly Text Format)
# Install wabt tools
sudo apt install wabt

# Compile WAT to WASM
wat2wasm hello.wat -o hello.wasm

# Disassemble WASM back to WAT
wasm2wat hello.wasm -o hello.wat
From Go (using TinyGo)
# Install TinyGo
wget https://github.com/tinygo-org/tinygo/releases/download/v0.31.0/tinygo_0.31.0_amd64.deb
sudo dpkg -i tinygo_0.31.0_amd64.deb

# Create Go program
cat > main.go << 'EOF'
package main

import "fmt"

func main() {
    fmt.Println("Hello from Go WASM!")
}
EOF

# Compile to WASM
tinygo build -o main.wasm -target=wasm main.go

# Get the WASM runtime helper
cp $(tinygo env TINYGOROOT)/targets/wasm_exec.js .

Browser Console

Open your browser's developer console (F12) to see the output from the WASM module.

The hello.wasm module should print "Hello, World!" to the console.

CORS Headers

The server includes CORS headers to allow:

  • Cross-origin requests during development
  • Loading WASM modules from different origins

This is useful when developing and testing WASM modules.

Documentation

The Go Gopher

There is no documentation for this package.

Source Files

  • server.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL