2017-09-05 1 views
0

lite-server semble ignorer ma tentative de remplacer l'index par défaut.Est-ce le bon moyen pour que lite-server reconnaisse l'override "server.index" dans bs-config.js?

Je bs-config.json:

{ 
    "server": { 
    "baseDir": "src", 
    "index": "/index.3.html", 
    "routes": { 
     "/node_modules": "node_modules" 
    } 
    } 
} 

J'utilise la version lite-serveur 2.3.0, comme ceci:

> lite-server -c=bs-config.json 

browser-sync config ** 

{ injectChanges: false, 
    files: [ './**/*.{html,htm,css,js}' ], 
    watchOptions: { ignored: 'node_modules' }, 
    server: 
    { baseDir: 'src', 
    middleware: [ [Function], [Function] ], 
    directory: true, 
    index: '/index.3.html', 
    routes: { '/node_modules': 'node_modules' 
    } 
    } 
} 

Dans la sortie du journal de la console ci-dessus, il reconnaît la Cependant, lorsque le navigateur demande "GET http://localhost", la console montre qu'il essaie de servir index.html au lieu de index.3.html.

[Browsersync] Serving files from: src 
[Browsersync] Watching files... 
17.09.04 22:35:51 404 GET /index.html 

J'ai aussi essayé fournir bs-config.js:

"use strict"; 

module.exports = { 
    "server": { 
    "baseDir": "src", 
    index: "i/index.3.html", 
    "directory":true, 
    "routes": { 
     "/node_modules": "node_modules" 
    } 
    // middleware,: { 
    // // overrides the second middleware default with new settings 
    // 1: require('connect-history-api-fallback')({index: '/index.3.html', verbose: true}) 
    // } 
    } 
} 

et en cours d'exécution lite-serveur avec:

> lite-server -c=bs-config.js 

mais le comportement est le même. Question: comment est-ce que je remplace l'index server.index de bs-config pour lite-server?

Répondre

0

Le fichier config-default.js de lite-server définit l'index dans sa deuxième fonction "fallback" de middleware. Cela semble être le réglage bs-config overring. Donc la solution semble être, remplacer le middleware pour définir l'index comme vous le souhaitez.

bs-config.js:

module.exports = { 
    "server": { 
    "baseDir": "src", 
    "routes": { 
     "/node_modules": "node_modules" 
    }, 
    middleware: { 
     // overrides the second middleware default with new settings 
     1: require('connect-history-api-fallback')({ 
      index: '/index.3.html', 
      htmlAcceptHeaders: ['text/html', 'application/xhtml+xml'] // systemjs workaround}) 
    } 
    } 
} 

Remarques: 1. Si une future version de lite-serveur change middleware lui est par défaut-config pour mettre le repli de l'indice dans une position d'index différent de la fonction middleware array, ou pour définir des en-têtes de réponse différents, cette solution bs-config devra être modifiée en conséquence.

Références: Browserync Docs: https://browsersync.io/docs/options

lite-serveur: https://github.com/johnpapa/lite-server