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

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

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

Pug(旧Jade)とは、HTMLを書くためのテンプレートエンジン。タグで囲む必要がないなど記述を省略できるため、HTMLの記述が簡単になります。ファイル分割も可能で、変数やループなど便利な機能も備わっています。

Node.js

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

Q&A

解決済

1回答

1970閲覧

node.jsとpugでつくったwebページが動かない。

satuki_yamabuki

総合スコア20

Pug

Pug(旧Jade)とは、HTMLを書くためのテンプレートエンジン。タグで囲む必要がないなど記述を省略できるため、HTMLの記述が簡単になります。ファイル分割も可能で、変数やループなど便利な機能も備わっています。

Node.js

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

0グッド

0クリップ

投稿2018/10/01 03:46

編集2018/10/03 04:28

javascript

1'use strict'; 2const http = require('http'); 3const pug = require('pug'); 4const server = http.createServer((req, res) => { 5 const now = new Date(); 6 console.info('[' + now + '] Requested by ' + req.connection.remoteAddress); 7 res.writeHead(200, { 8 'Content-Type': 'text/html; charset=utf-8' 9 }) 10 11 switch (req.method) { 12 case 'GET': 13 if(req.url === 'enquetes/yaki-shabu'){ 14 res.write(pug.renderFile('./form.pug',{ 15 path: req.url, 16 firstItem: '焼き肉', 17 secondItem: 'しゃぶしゃぶ' 18})) 19}else if(req.url === 'enquetes/rice-bread'){ 20 res.write(pug.renderFile('./form.pug',{ 21 path: req.url, 22 firstItem: 'ごはん', 23 secondItem: 'パン' 24 })) 25} 26res.end(); 27 break; 28 case 'POST': 29 let body = []; 30 req.on('data', (chunk) => { 31 body.push(chunk); 32 }).on('end', () => { 33 body = Buffer.concat(body).toString(); 34 const decoded = decodeURIComponent(body); 35 console.info('[' + now + '] 投稿: ' + decoded); 36 res.write('<!DOCTYPE html><html lang="jp"><head><meta charset="utf-8"></head><body><h1>' + 37 decoded + 'が投稿されました</h1></body></html>'); 38 res.end(); 39 }) 40 break; 41 default: 42 break; 43 } 44 45}).on('error', (e) => { 46 console.error('[' + new Date() + '] Server Error', e); 47}).on('clientError', (e) => { 48 console.error('[' + new Date + '] Client Error', e); 49}) 50const port = 8000; 51server.listen(port, () => { 52 console.info('[' + new Date + '] Listening on ' + port); 53})

Pug

1doctype html 2html(lang="ja") 3 head 4 meta(charset="UTF-8") 5 title アンケート 6 body 7 h1 どちらが食べたいですか? 8 form(method="post" action=path) 9 span 名前: 10 input(type="text" name="name") 11 input(type="radio" name="favorite" value=firstItem) 12 span #{firstItem} 13 input(type="radio" name="favorite" value=secondItem) 14 span #{secondItem} 15 button(type="submit") 投稿 16

ディレクトリに以下のファイルがあります。 Procfile form.pug node_modules package.json app.json index.js package-lock.json

Terminalで、ワークディレクトリに移動して、git add .
git commit -m "herokuで公開する"と入力してEnter
次に、heroku createと入力してEnter
次に、git push heroku masterと入力しましたが
デプロイができませんでした。

ログでは、現在のnode.jsのバージョンが使えないとのこと

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

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

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

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

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

mather

2018/10/01 06:26

質問を書いてください。「動かない」というのは「サービスが起動しない」「404などエラーメッセージが出る」「意図したとおりの画面表示にならない」など多くの意味を含むことがあるので、質問者の具体的な不明点を書いてください。
guest

回答1

0

自己解決

Linuxにインストールにしたnode.jsが使えないのなら、使えるバージョンに切り替えればいいだけのこと

nodebrew install v10.10.0入力後Enter

インストールして再度、デプロイしたら成功しました!

投稿2018/10/03 04:46

satuki_yamabuki

総合スコア20

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問