2016-02-02 8 views
8

私は5 minute quickstart of Angular 2を経由しています。しかし、私のアプリケーションはというフォルダにあり、npm startを実行すると、アプリケーションはルートにindex.htmlというファイルを見つけようとしています。私はlite-serverを読んで、ドキュメントにはBrowserSyncが使用されており、BrowserSyncbs-config.jsonで再構成できます。私はそれをやった、これは私の設定は次のようになります。私もBS-config.jsのAngular 2アプリケーションでlite-serverのベースフォルダを変更できません

を通じてオーバーライドを試みた

[1] > [email protected] lite E:\GitHub\todo-app-angular2 
[1] > lite-server "./bs-config.json" 

:それは指定された設定を使用してのログによると

{ 
    "port": 8123, 
    "server": { "baseDir": "./src" } 
} 

module.exports = { 
    port: 8123, 
    server: { 
    baseDir: "./src" 
    } 
}; 

しかしAngularアプリケーションはまだポート3000で開かれており、configに定義されているbaseDirを無視しています。私は間違って何をしていますか?

+0

てみてください'' npm start'コマンドで – Sasxa

+0

私は何もしませんでした:( –

+1

ブラウザ同期設定オプションファイルにはlite-server v2を必ず使用してください –

答えて

14

lite-serverがrequire機能を使用してモジュールをロードしようとするので、bs-config.jsというファイル(bs-config.jsonではなく)を使用する必要があります。設定が有効なノードモジュールでなければなりません:https://github.com/johnpapa/lite-server/blob/master/lib/lite-server.js#L20

module.exports = { 
    "port": 8123, 
    "server": { "baseDir": "./src" } 
}; 

は、ソースコードにこの行を参照してください。

このファイルは、デフォルトでユーザーのプロジェクトフォルダから読み込まれます。もう少し掘りした後、私の答えの最初の部分はnpm installを使用してgithubのからのコードではなく、実際にインストール1に依存している

編集

(バージョン1.3.4)

二つがあります。この場合のオプション:

  • ポート
  • BASEDIRこのコマンドを使用

はあなたの問題を解決します:

$ lite-server --baseDir ./src --port 3333 

は(もう)Thierry Templierからの答えは非常に正確でない ティエリ

+0

私はすでにこれを試したことを忘れていました。 bs-config.jsファイルのmodule.export。それでも何もしませんでした:(実際に私がこれを追加したとき、npmの開始は失敗するでしょう)。 –

+0

私はただtriですそれを編集し、それはまだ提供しています。/ [1] [BS]アクセスURL: [1] --------------------------- --------- [1]ローカル:http:// localhost:3000 [1]外部:http://xx.xx.xx.xx:3000 [1] ----- ------------------------------- [1] UI:http:// localhost:3001 [1] UI外部:http://xx.xx.xx.xx:3001 [1] -------------------------------- ---- [1] [BS]からのファイルの提供:。/ –

+0

どのバージョンのlite-serverを使用しますか? –

3

、それはあなたのお役に立てば幸いです、あなたが使用することができますbs-config.jsonまたはbs-config.jsのいずれかの設定を使用して、ブラウザ同期設定を調整します。これは私が複数のディレクトリからプロジェクトをホストするJIT(ジャストインタイム)およびAOT(前・オブ・タイム)コンパイルのサポート(bs-config.json

{ 
    "port": 8000, 
    "server": ["app", "."] 
} 

angular2 quick start exampleのために最初に思い付いたものです。

jsonファイルのserverセクションを上書きすると、デフォルトのmiddleware構成が同時に上書きされたため、このソリューションが気に入らなかった。

そこで私は次のようなアプローチで終了、私は(bs-config.js)のlite-serverconfig-defaults.jsファイルをデフォルトを取り、代わりにそれを修正: `--configパス/に/ BS-config.jsonを追加

'use strict'; 
var fallback = require('connect-history-api-fallback'); 
var log = require('connect-logger'); 
/* 
| For up-to-date information about the options: 
| http://www.browsersync.io/docs/options/ 
*/ 
module.exports = { 
    port: 8000, 
    injectChanges: false, // workaround for Angular 2 styleUrls loading 
    filters: ['./**/*.{html,htm,css,js}'], 
    watchOptions: { 
    ignored: 'node_modules' 
    }, 
    server: ['./', 'app'], 
    middleware: [ 
    log({ format: '%date %status %method %url' }), 
    fallback({ 
     index: '/index.html', 
     htmlAcceptHeaders: ['text/html', 'application/xhtml+xml'] // systemjs workaround 
    }) 
    ] 
};