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

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

新規登録して質問してみよう
ただいま回答率
85.50%
RxJS

RxJSは、Observablesを用いたリアクティブプログラミングのJavaScript向けの実装です。イベント駆動処理も含めた非同期処理を高い可読性を持って容易にコーディングできます。

Node.js

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

Q&A

解決済

1回答

1317閲覧

rxjsを使えない?

sponge

総合スコア16

RxJS

RxJSは、Observablesを用いたリアクティブプログラミングのJavaScript向けの実装です。イベント駆動処理も含めた非同期処理を高い可読性を持って容易にコーディングできます。

Node.js

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

0グッド

1クリップ

投稿2018/05/06 01:06

いつもお世話になっています。
プログラミング初心者です。右も左をよくわかっていません。よろしくお願いします。

Angularのtutorialの勉強の際にObservableが多数出現してきたのでいろいろと調べていると、rxjsという外部のライブラリを使用しているとのことでした。

そこでrxjsの公式サイトを覗いてみるとインストールから概要、マニュアルまでそろっていたので、自力で理解しようと努めていました。ですが、インストールのところでつまずいてしまいました。

公式サイトに

npm install rxjs

と書いてあったので、自分の作業ディレクトリ

C:\Users\pcx\Documents\github\js_ajax\import_test_rxjs.js

に書き込みました。
そしてテストコードの

import Rx from 'rxjs/Rx'; Rx.Observable.of(1,2,3)

を張り付けてしっかりとrxjsを使用できるか試してみましたが、エラーが返ってきてうまく動作しません。

エラー内容は

PS C:\Users\pcx\Documents\github\js_ajax> node .\import_test_rxjs.js C:\Users\pcx\Documents\github\js_ajax\import_test_rxjs.js:1 (function (exports, require, module, __filename, __dirname) { import Rx from 'rxjs/Rx'; ^^^^^^ SyntaxError: Unexpected token import at createScript (vm.js:80:10) at Object.runInThisContext (vm.js:139:10) at Module._compile (module.js:616:28) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Function.Module.runMain (module.js:693:10) at startup (bootstrap_node.js:188:16) at bootstrap_node.js:609:3

とのことでした。
自分なりにgoogleでエラー内容を調べたりしているのですが、まったくわかりません。
どなたかよろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

import Rx from 'rxjs/Rx';

この文法はes2015の文法で、javascriptではありません。
javascript処理系で動かすにはBabel(等?)を用いてjavascriptにトランスパイルする必要があります。

ここはjavascriptの文法で次のように書くと動きます。

const Rx = require('rxjs/Rx')

Rxjsを触って調査したいっていうだけならいったんこれで良い気がします。

投稿2018/05/06 01:36

編集2018/05/06 01:49
set0gut1

総合スコア2413

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

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

sponge

2018/05/06 01:47

回答ありがとうございます。 早速試してみたところ ``` PS C:\Users\pcx\Documents\github\js_ajax> node .\import_test_rxjs.js module.js:549 throw err; ^ Error: Cannot find module 'rxjs-compat' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25) at Module.require (module.js:596:17) at require (internal/module.js:11:18) at Object.<anonymous> (C:\Users\pcx\Documents\github\js_ajax\node_modules\rxjs\Rx.js:6:10) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) PS C:\Users\pcx\Documents\github\js_ajax> ``` のようになりエラーが返ってきました。 ``` import Rx from 'rxjs/Rx'; ``` の書き方がjavascriptではない、とは初めて知りました。 Angularのチュートリアルの時はrxjsがつかえていたので、質問内容の書き方事態が間違っているのでしょうか? 実行環境はnodejsです。 また、nodejsのバージョンはv8.11.1で、npmのバージョンは6.0.0です。
set0gut1

2018/05/06 01:54

npm install rxjs-compat を実行すると解決します。 Angular のチュートリアルがどういう環境で行われるものか知らないので、ちょっと見てきます。
sponge

2018/05/06 02:02

一応エラーなしに通りました! ありがとうございます。 自分なりにたくさん調べたつもりなのですが、解決に至る情報を見つけれませんでした。もしよければ、検索のコツみたいなのご教授いただけるととてもうれしいです。
set0gut1

2018/05/06 02:24 編集

Angularのチュートリアル見てきましたが、nodeを直接叩くところがなく@angular/cli由来のコマンドに一任されているので、どこかでes2015→jsのトランスパイルが行われてるっぽく見えました。検索のコツというものは無く、最近Reactの開発で似たようなエラーに大量に触れてたので、エラーメッセージから解決方法を割り出しました。だいたい「①エラーメッセージで検索する ②エラーメッセージを読んで勘で何かしてみる ③node_modules以下を読んで気合でエラー原因を探す」を繰り返す感じになります。
sponge

2018/05/06 02:33

なるほど、勘ですか。。。 トランスパイルの概念すらありませんでした。。。。。。。 参考にさせていただきます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問