質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1668閲覧

ReactでHello World

Nitta

総合スコア96

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

1クリップ

投稿2018/04/13 06:48

編集2018/04/13 06:50

お世話になってます。
今、reactを使いたいのでHellow worldをテストしてます。
しかし、何も表示されずに困っています。
宜しければ、ご教示頂けないでしょうか?
宜しくお願いいたします。

希望表示: Hello div_nitta World

test.js

express = require('express') ,app = express() ,browserify = require('browserify') ,reactify = require('reactify') ,fs = require('fs'); app.get('/', function(req, res){ //ファイルを読み込んだら、コールバック関数を実行する。 fs.readFile('./my_index.html', 'utf-8' , doReard ); // コンテンツを表示する。 function doReard(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); } }) app.get('/bundle.js', function(req, res){ res.setHeader('Content-type', 'text/javascript'); browserify('./app') .transform({ harmony: true }, reactify) .bundle() .pipe(res); }) app.listen(8124);

my_index.html

<html> <head> <title>React on NW.js</title> </head> <body> <div id="app"></div> <script src="/bundle.js"></script> </body> </html>

app.js

var Hello = React.createClass({ render: function() { return ( <h1>Hello, {this.props.name} World !</h1> ); } }); React.render( <Hello name='div_nitta' />, document.getElementById('app') );

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HayatoKamono

2018/04/13 07:48 編集

reactでサーバーサイドレンダリングをしたいのですか?掲載コードの各行で何をしているのかは理解しながら書いていますか?(追記: 何をしたいか何となくわかったかもしれません。)
Nitta

2018/04/13 07:48

>>reactでサーバーサイドレンダリング したいと考えてます。大体ですが1行ずつ理解しているつもりではいますが、少し理解が浅いのかもしれません。
HayatoKamono

2018/04/13 09:56 編集

あれ、本当にサーバーサイドレンダリングをしようということなのですか?よくよくコードを読んでみたら、クライアントサイドでレンダリングしたいのかなとも読めたりしたのですが。
Nitta

2018/04/13 10:31 編集

とにかく、browerifyをcmdではなくnode上で使用し、HTML上(クライアント)に表示できるようにしたいと考えてました。reactの使用方法が少し理解できてない感じだったので(泣)。返信よろしくお願いします(泣)。サーバーサイドではなくクライアント側ということです、すいません。
Nitta

2018/04/13 10:32 編集

お忙しいとは思いますが、よろしくお願いします。自分もnodeとかできるようになりたいので(泣)。
HayatoKamono

2018/04/14 03:06 編集

> browerifyをcmdではなくnode上で使用し これはなぜですか?ビルド済みのbundle.jsを用意して、それをクライアントに返すのではなく、クライアントからリクエストがある度にビルドをしてbundle.jsをクライアントに返しているのはなぜですか?
Nitta

2018/04/14 09:24

返信遅れすみません。例えば表記内容などを変更した場合をイメージして、クライアントからのリクエスト毎にビルドした方が、正しいのではと考えました。
Nitta

2018/04/14 09:40

そこは、修正したいと考えます。
guest

回答1

0

ベストアンサー

Facebook公式のcreate-react-appというツールは利用したことはありますでしょうか?

$ npm install -g create-react-app $ create-react-app my-app $ cd my-app $ npm start

こちらをまずはローカル環境にインストールしてreactアプリケーションの雛形ファイルを生成し、開発用サーバーを起動させれば、すぐにHello World的なサンプルページが表示されるので、そこをスタートポイントとするのが速いし楽だと思います。

質問文を見る限る、Browserifyをバンドルツールとして利用されていると思いますが、create-react-appではWebpackという別のメジャーなバンドルツールを使っています。Webpackの諸々の設定はcreate-react-appの方で既に済んでいるので、自分でWebpackの設定をする必要もありません。

まずは、create-react-appに内蔵のwebpack-dev-servernpm startで起動させて、ローカル上で'Hello World'的なものを表示させるところからスタートしてみてはいかがでしょうか?

投稿2018/04/15 04:11

編集2018/04/15 04:12
HayatoKamono

総合スコア2415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nitta

2018/04/16 01:10 編集

返信おくれすいません。ありがたい言葉。 create_react-app一度利用したことはあります。 app.jsファイルを調整し、無事Hellow world上げることできました。 今後とも宜しくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問