diff --git a/lib/dev.js b/lib/dev.js
index c5e9e72..82cfcad 100644
--- a/lib/dev.js
+++ b/lib/dev.js
@@ -9,6 +9,7 @@ import MIME_TYPES from './mime-tpyes.js'
 import { COMMON_HEADERS } from './constants.js'
 
 const decode = decodeURIComponent
+const noc = Buffer.from('')
 
 export default function createServer(root = '', conf = {}) {
   const IS_MPA = Object.keys(conf.pages).length > 1
@@ -135,7 +136,9 @@ export default function createServer(root = '', conf = {}) {
                   '',
                   ""
                 )
-                .replace('{{title}}', conf.pages[pageName].title)
+                .replace('{{title}}', conf.pages[pageName].title || '')
+                .replace('{{keywords}}', conf.pages[pageName].keywords || '')
+                .replace('{{description}}', conf.pages[pageName].description || '')
                 .replace('{{importmap}}', JSON.stringify({ imports: conf.imports }))
                 .replace(
                   '',
@@ -150,12 +153,11 @@ export default function createServer(root = '', conf = {}) {
               let rpath = pathname.replace(/^assets\/js\//, '')
               let file
 
-              if (rpath.startsWith(currentPage)) {
+              if (IS_MPA) {
                 file = join(pagesDir, rpath)
               } else {
                 file = join(root, rpath)
               }
-
               if (!fs.isfile(file)) {
                 file = file.replace(/\.vue$/, '/index.vue')
               }
@@ -206,16 +208,22 @@ export default function createServer(root = '', conf = {}) {
           case 'bmp':
             res.setHeader('content-type', MIME_TYPES[ext])
             code = fs.cat(join(root, pathname))
+            if (code === null) {
+              console.error(pathnam, '文件不存在')
+              res.writeHead(404, 'Not Found')
+              res.end('')
+              return
+            }
             break
 
           default:
-            res.setHeader('content-type', MIME_TYPES[ext] || MIME_TYPES.other)
+            res.setHeader('content-type', MIME_TYPES[ext] || MIME_TYPES.html)
             break
         }
 
-        res.setHeader('content-length', Buffer.byteLength(code))
+        res.setHeader('content-length', Buffer.byteLength(code || noc))
         res.writeHead(200, 'OK')
-        res.end(code)
+        res.end(code || noc)
       }
     })
     .listen(conf.port)
diff --git a/package.json b/package.json
index 392350a..3b8d323 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bytedo/vue-live",
   "type": "module",
-  "version": "0.0.2",
+  "version": "0.0.3",
   "bin": {
     "vue-live": "index.js"
   },