ある程度動作確認を済ませた状況で、htmlにBootstrapを使用してjsとcssを読み込む設定にしました。
html
1 <!-- BootstrapのCSS読み込み --> 2 <link href="css/bootstrap.min.css" rel="stylesheet"> 3 <!-- jQuery読み込み --> 4 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 5 <!-- BootstrapのJS読み込み --> 6 <script src="js/bootstrap.min.js"></script> 7 <!-- node関係のjs読み込み --> 8 <script src="/socket.io/socket.io.js"></script> 9 <script src="//code.jquery.com/jquery-1.11.1.js"></script>
index.html
css
|_bootstrap.min.css
is
|_bootstrap.min.js
サーバーで動かすとどうもjsもcssも読み込んでいないように思います。どこを修正すればよいか教えてください。
node
1var app = require('express')();//expressを使うため 2var http = require('http').Server(app);//expressを使って通信を扱う 3var io = require('socket.io')(http);//socketを使うため 4var POST = 1234;//localhost:3000 5var fs = require('fs');//メッセージ格納json 6var database = fs.readFileSync('database.json' , 'utf-8'); 7var obj = JSON.parse(database); 8var items = obj.items; 9//名簿格納json 10var fs2 = require('fs'); 11var meibo = fs2.readFileSync('meibo.json' , 'utf-8'); 12var obj2 = JSON.parse(meibo); 13var items2 = obj2.items; 14var i; 15var item; 16var id; 17var ms; 18 19 20//ルートディレクトリにアクセスした時に動く処理 21app.get('/', function(req, res) { 22 //index.htmlにリダイレクトする 23 res.sendFile(__dirname + '/index.html'); 24}); 25 26//socket.ioに接続された時に動く処理 27io.on('connection', function(socket) { 28 29 30 socket.on('setUserName', function (userName) { 31 if(!userName) userName = '匿名'; 32 //投稿者判定 33 for (i in items2) { 34 item = items2[i]; 35 id = item.id; 36 name = item.name; 37 if(id == userName){ 38 socket.userName = name ; 39 //io.emit('message', socket.userName + 'さんようこそ!', '管理者'); 40 break; 41 } 42 } 43 //メッセージを表示するループ 44 for (i in items) { 45 item = items[i]; 46 id = item.id; 47 ms = item.message; 48 //if(id==socket.userName){ 49 io.emit('message', ms, id); 50 //} 51 52 } 53 io.emit('message', socket.userName + 'さんようこそ!', '管理者'); 54 }); 55 56 console.log('入室したユーザー : %s', socket.userName); 57 58 59 60 //接続時に振られた一意のIDをコンソールに表示 61 console.log('入室したID : %s', socket.id); 62 //接続時に全員にIDを表示(messageというイベントでクライアント側とやりとりする) 63 64 65 66 //messageイベントで動く 67 //全員に取得したメッセージとIDを表示 68 socket.on('message', function(msj) { 69 io.emit('message', msj, socket.userName); 70 obj.items.push({id: socket.userName,message: msj}); 71 fs.writeFileSync('database.json', JSON.stringify(obj)); 72 //console.log(obj); 73 }); 74 75 //接続が切れた時に動く 76 //接続が切れたIDを全員に表示 77 socket.on('disconnect', function(e) { 78 console.log('接続が切れたID : %s', socket.userName); 79 }); 80}); 81 82//接続待ち状態になる 83http.listen(POST, function() { 84 console.log('接続開始', POST); 85 console.log(http); 86}); 87 88
ひとまずこの事象については
node
1app.get('/css/bootstrap.min.css', function (req, res) { 2 res.sendfile(__dirname + '/css/bootstrap.min.css'); 3}); 4app.get('/js/bootstrap.min.js', function (req, res) { 5 res.sendfile(__dirname + 'js/bootstrap.min.js'); 6});
で解決しましたが、読み込みたいファイルが多くなればなるほどapp.use(express.static(__dirname));というような表記が必要になるだろうと思いますので、引き続きこの件についてアドバイスがあればお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。