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

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

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

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

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

17333閲覧

Javascriptのrequireを使う方法

kenny_sayama

総合スコア1036

Node.js

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

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

2クリップ

投稿2017/10/18 01:58

やりたいこと

store.jsを使って、localStorageを使った機能を実装したいのですが、var store = require('store');とするとUncaught ReferenceError: require is not definedエラーになってしまいます。

node.jsは使わずにrequireをつかってstore.jsを読み込むことは可能でしょうか?

サンプルコード

ファイル構成 - index.html - index.js - store.js/

index.html

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./index.js" charset="utf-8"> </script> </head> <body> </body> </html>

index.js

var store = require('store'); store.set('user', 'user');

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

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

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

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

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

guest

回答2

0

ベストアンサー

ブラウザが搭載しているJavaScriptにはrequireという関数は存在しません。

Node.jsの誕生秘話的な話として、JSをサーバーサイドで使いたいけど他のファイル読めないじゃん!
しょうがないからC++でrequire機能を実装して、実行した時にグローバル領域に設置しておこう。
これがNode.jsでrequireが使える理由です。

無理やりこの概念をもってくるBrowserifyやWebpackというツールはありますが、
store.jsではどうやら違う解決方法を取っているようです。

Using script tag (first download one of the builds):

HTML

1
<!-- Example store.js usage with script tag --> <script src="path/to/my/store.legacy.min.js"></script> <script> var store = require('store') store.set('user', { name:'Marcus' }) store.get('user').name == 'Marcus' </script>
どうも使い方の欄を見たところ、 `<script src="path/to/my/store.legacy.min.js"></script>`というタグを上で読み込んでおくと、 require関数が有効になり、使用可能になるみたいですね。

投稿2017/10/18 02:36

miyabi-sun

総合スコア21158

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

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

kenny_sayama

2017/10/18 02:38

素直に従えばよかったのですね!ありがとうございます!
guest

0

requireはブラウザに実装されていないため、Browserifyなどで変換するか、store.everything.min.jsをスクリプトタグで読み込んでしまうかどちらかでは。

【require()とは何か?何が便利なのか - Qiita】
https://qiita.com/uryyyyyyy/items/b10b012703b5396ded5a

【旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section2 ~CommonJSモジュールと仲良くなろう~ - Qiita】
https://qiita.com/gaogao_9/items/190f4b52d6876f0b8d8a#browserify%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B

【ブラウザのローカルストレージにデータを保存する「Store.js」 | ある蜜柑の上にアルミ缶】
https://s8a.jp/javascript-store-js#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

投稿2017/10/18 02:41

kei344

総合スコア69407

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問