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

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

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

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Node.js

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

1506閲覧

Herokuでjsファイルをデプロイしたい

kaki.k

総合スコア19

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Node.js

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/10/24 14:10

今までローカルで動かしていたものをHerokuでjsファイルをデプロイしたいのですが、
サーバーに関する知識がなく、知恵をお借りしたいです。

まず、自分がデプロイしたいjsファイルのコードの一部を載せます。

javascript

1const http = require('http'), 2 ws = require('ws'), 3 fs = require('fs'), 4 path = require('path'), 5 filename = path.join(__dirname, 'RangeSpecification.html'); 6 7const wss = new ws.Server({ port: 8081 }); 8 9wss.on('connection', (client) => { 10 client.on('message', (message) => { 11 12 const envelope = JSON.parse(message); 13 14 console.log('received Polygon: %s', envelope.Polygon); 15 16 const NearBy = require('../GooglePlaceNearBy-master/index.js').NearBy 17 18 let option = { 19 'key': "***", 20 'boundary': JSON.parse(envelope.Polygon) , 21 'tag': "restaurant" 22 }; 23 const nearBy = new NearBy(option); 24 25 var item_res = [] 26 27 nearBy.execute((err, argv, map, stats) => { 28 29 var ffs = require('fs'); 30 31 //ファイルの書き込み関数 32 function writeFile(path, data) { 33 ffs.writeFile(path, data, function (err) { 34 if (err) { 35 throw err; 36 } 37 }); 38 } 39 40 writeFile("0926test_placeid_res.txt", Object.keys(stats.venues).join("\n")); 41 42 item_res.push(Object.keys(stats.venues)); 43 44 console.log(item_res) 45 console.log("restaurant place_id crawl !") 46 47       //一部省略 48 49 50 }); 51}); 52 53fs.readFile(filename, 'binary', (err, filecontent) => { 54 http.createServer((request, response) => { 55 if (err) { 56 response.writeHead(404, { 'Content-Type': 'text/plain' }); 57 response.write("404 Not Found\n"); 58 response.end(); 59 } else { 60 const header = { 61 'Access-Control-Allow-Origin': '*', 62 'Pragma': 'no-cache', 63 'Cache-Control': 'no-cache' 64 } 65 response.writeHead(200, header); 66 response.write(filecontent, 'binary'); 67 response.end(); 68 } 69 }).listen(8080); 70});

試したこととしてWeb上に転がっているサイトを見て、fs.readFile()...部分を以下のように変えたりしましたが、うまく行きませんでした。

javascript

1fs.readFile(filename, 'binary', (err, filecontent) => { 2 3 var http = require('http'); //httpモジュール呼び出し 4 var server = http.createServer(function (request, response) { 5 const header = { 6 'Access-Control-Allow-Origin': '*', 7 'Pragma': 'no-cache', 8 'Cache-Control': 'no-cache' 9 } 10 response.writeHead(404, { 'Content-Type': 'text/plain' }); 11 response.write(filecontent, 'binary'); 12 response.end(); // レスポンス送信を完了する 13 }); 14 server.listen(process.env.PORT || 8080); //8080番ポートで待ち受け 15 16});

ちなみにheroku openコマンドをした際以下のようなエラーが出ます。
Application error

このコマンドにあるheroku logs --tailも見てみましたがいまいちわかりませんでした。

もしかしたらHerokuの制約しらべている途中ですが、そもそもコードの書き方が間違っているかもしれないとも思い、質問させていただきました。
サーバーのに関する知識がなく、なにかご享受いただけたら幸いです。
よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問