2016-04-28 10 views
2

npmを使用してAngular 2アプリケーションを開発しました。新鮮で、私は以下のようないくつかの方法を知らない。 公開時にはnpm publishを使用して、ウェブ上のnpmアカウントにアプリケーションを公開します。 ここでは、npmアカウントを使用したくないため、公開時にnode_modulesフォルダを避ける必要があるため、ローカルホストにアプリケーションを公開する方法はありますか? npm以外の地域でAngular2アプリケーションを公開するために使用できる方法があれば、教えてください。私はそれを試しています。公開についてAngular 2 application

npmウェブアカウントなしでアプリケーションを公開することができない場合は、教えてください。 間違いがある場合は、アドバイスありがとうございます。

+1

を単一のスクリプトタグをつけバンドルするためにそれを使用するノードパッケージマネージャによって

npm install -g browserify 

それを可能性がインストール具体的に ? angular2アプリは 'npm start'を使ってローカルで実行できます。私はあなたが公開と言うときに何をしようとしているのか分かりません –

+0

公開時にdevdependencyファイル(node_modules)を避けたいのですが、そのアプリはnpmアカウントに公開されています。 localhost上でintallingです。代わりに私は自分のローカルホストに直接公開したいと思います。それを行う方法はありますか? Gulpなどを使って?もし問題がなければ、私に知らせてください。 –

+0

@sridhar "publish to localhost"とまったく同じ意味ですか?あなたは何を出版物をアーカイブしたいですか?より具体的にするか、私たちはあなたを助けることができません、ごめんなさい。 – Dinistro

答えて

6

npm publishは、無料で他のユーザーがライブラリパッケージを利用できるようにすることです。

これは、Webアプリケーションを利用できるようにするためのものではありません。これはデプロイメントと呼ばれます。 展開するには、通常、TSをJSに変換するビルドステップを実行し、それらを1つのファイルに結合して、アプリケーションのすべてのソースファイルを取得するためにブラウザが要求する要求の数を減らします。また、コンポーネントHTMLとCSSをインライン展開することもできます。このビルド・ステップは、結果として生じるファイル・サイズをさらに減らすために、JSコードを縮小してマングルすることもできます。

出力結果は、ローカルマシン上またはWebホスティングプロバイダの一部のマシン上のいずれかのWebサーバがブラウザに提供できる任意のディレクトリにコピーできます。

設定に応じてアプリケーションを構築する方法はいくつかあります。あなたはbrowserifyが必要How to deploy Angular 2 application developed in Typescript to production?

+0

まだ疑問が残っていますが、プライベートウェブサーバーにnpmを使用してアプリを公開するオプションがあると思います。どうすればいいですか?助けてください –

+0

プライベートnpmリポジトリを実行してライブラリパッケージをホストすることはできますが、それはあなたのWebアプリケーションには役立たず、このサーバからパッケージをnpmでインストールすることができます。 Webアプリケーションを実行したい場合は、公開するのではなく、公開することを望みます。 –

0

私が知る限り、node_modulesには、typescript transpilersなどのいくつかの依存関係が含まれています。 node_modulesを使わずにアプリを公開することはできません。

おそらくあなたは、あなたがnode_modules用CDNのリンクを使用してオンラインの輸入を行い、アプリを公開することができPlnkrjsFiddle

を使用して試すことができます。

他の代替手段と比較すると簡単になります。

これが役に立ちます。

+0

私はnode_modulesファイルは依存関係ではなく、依存関係であると思いますか? 開発後に矛盾を無視することができます。angular2.dev.js、system.jsなどのファイルの一部は依存関係です。 –

1

例えば

参照してください、それは彼らが、モジュールの依存関係を形成して、ノードのrequire()方法を理解していない、すべての

ブラウザは、HTMLに入れなければ、すべてのjsファイルへの参照が必要です

あなたのプロジェクトの依存関係グラフ全体を走査し、与えられたルートから始まるすべての必要なモジュールを単一のjsファイルに再帰的に束ねることです

あなたはmain.js

browserify main.js -o bundle.js 

を見つめて、すべての必要なモジュールが今、あなたのHTMLに

<script src="bundle.js"></script> 
関連する問題