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

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

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

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

HTML

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

Q&A

解決済

1回答

4441閲覧

javascriptで書かれたhtmlファイルでcsvファイルを作りたいが、var fs = require('fs');がエラーになる。

meJ15

総合スコア55

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2018/11/16 14:22

前提・実現したいこと

javascriptでcsvファイルを作りたいと考え、下の参考サイトを見ました。
参考サイト

これを実装して、いざ動かそうとすると
nodeuseget.html:58 Uncaught ReferenceError: require is not defined
at nodeuseget.html:58
(anonymous) @ nodeuseget.html:58
このようなエラーが出ました。

var fs = require('fs');
この部分です。

発生している問題・エラーメッセージ

nodeuseget.html:58 Uncaught ReferenceError: require is not defined at nodeuseget.html:58 (anonymous) @ nodeuseget.html:58

該当のソースコード

html

1<!doctype html> 2<html> 3 <head> 4 </head> 5 6<body> 7<div class="container"> 8 <div class="title margin"> 9 10 </div> 11 12 <div class="contents margin"> 13 14 </div> 15 16 <div class="contents margin"> 17 18 </div> 19 20 <div class="footer margin"> 21 For more information, see <a href="http://jellyware.jp/kurage" target="_blank">jellyware.jp</a> and <a href="https://github.com/electricbaka/bluejelly" target="_blank">GitHub</a> ! 22 </div> 23</div> 24 25<script> 26//-------------------------------------------------- 27//Global変数 28//-------------------------------------------------- 29//BlueJellyのインスタンス生成 30var ble = new BlueJelly(); 31var ble2 = new BlueJelly(); 32var arr = new Array(); 33 34var fs = require('fs'); 35var formatCSV = ''; 36 37document.getElementById('stopNotifications').addEventListener('click', function() { 38 ble.stopNotify('UUID1'); 39 console.log("おわり"); 40 console.log(arr[0][1]); 41 exportCSV(arr); 42 43// 配列をcsvで保存するfunction 44 function exportCSV(content){ 45 for (var i = 0; i < content.length; i++) { 46 var value = content[i]; 47 48 for (var j = 0; j < value.length; j++) { var innerValue = value[j]===null?'':value[j].toString(); var result = innerValue.replace(/"/g, '""'); if (result.search(/("|,|\n)/g) >= 0) 49 result = '"' + result + '"'; 50 if (j > 0) 51 formatCSV += ','; 52 formatCSV += result; 53 } 54 formatCSV += '\n'; 55 } 56 fs.writeFile('formList.csv', formatCSV, 'utf8', function (err) { 57 if (err) { 58 console.log('保存できませんでした'); 59 } else { 60 console.log('保存できました'); 61 } 62 }); 63} 64 65}); 66 67 68</script> 69 70</body> 71</html>

試したこと

このサイトを見て、
require.jsファイルを動かしたいhtmlファイルがある場所にファルダ(js)を作ってその中に保存して、

<script src="js/require.js"></script>とすると、

イメージ説明
このようなエラーになりました。

いろいろ調べてnode.jsをインストールしてみたものの何をすればよいのか全然わかっていません。
htmlファイルからrequireというライブラリ?が使えないのか?本当に調べてもわかりません。

何をすればhtmlの拡張子でcsvファイルを作成できるようになるのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

fsはNode.js組み込みのモジュールで、ブラウザでは使えません

単体でJavaScriptを書いて、node ***.jsで起動する…という形で使うものです。

投稿2018/11/16 14:23

maisumakun

総合スコア145183

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

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

meJ15

2018/11/16 14:34

ではどのような手段を選択すればhtmlファイル内部での変数の値などをcsvファイルに出力できるのでしょうか?
maisumakun

2018/11/16 22:12

ブラウザ内から直接ファイルを特定の場所に保存させる方法はありません。 ファイルダウンロード扱いで送信することは可能です。
meJ15

2018/11/17 02:26

コメントありがとうございます。 pythonとかならpath指定して、そこにファイルを作るというのはできるのですが、htmllではそれができないということでしょうか? 実装しようとしているのは、ローカルのhtmlで計算した何個かの値をリアルタイムでcsv形式で、自分のパソコンにcsvファイルとして保存していくというプログラムです。htmlで書くのは難しいでしょうか?
maisumakun

2018/11/17 02:29

はい、ブラウザではセキュリティ上、ファイル操作はごく限られた範囲でしかできません。
meJ15

2018/11/17 03:34

ありがとうございます。理解できました。 では ローカルのhtmlで計算した値を自分のパソコンのpythonなどで受け取ることはできるのでしょうか?UDP通信のような形で。 html(javascript)とpythonとの連携です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問