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

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

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

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

JavaScript

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

4804閲覧

npmで追加したjsライブラリの管理方法を知りたい

nnahito

総合スコア2004

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

JavaScript

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/10/07 02:46

概要

npm installで入れたJSのライブラリは、
node_modulesフォルダに入るが、この後どのようにして利用するのかがわからない

質問

composer installでPHPのライブラリをインストール&管理できるように、
おそらくnpm installでJSのライブラリを取得&管理できるかと思います。

composerで入れたPHPのライブラリは、vendorフォルダ配下に管理され、
PHPからはautoload.phpをincludeするだけで全ライブラリが利用可能になります。

では、node_modules配下に管理されているJSライブラリはどのように呼び出すのでしょうか?

以前、同様にyarnで取得したライブラリはどのように扱うのかの質問をさせていただいたときは、Laravel限定での回答を頂いたのですが、
そうではなく、汎用的な使い方をご教示いただきたいです。
LaravelだとLaravel Mixというものでコンパイル?できるそうですが、
では、CakePHPでは?Silexでは?Slim3では?レガシーコードでは?となります。

例えば、npm installで取得したjQueryを呼び出す際は、
<script src="/node_modules/jquery/jquery.min.js"></script>のような呼び出し方をするのでしょうか?
それとも、node_modules配下からコピペでpublicフォルダに移動して、呼び出すのでしょうか?

このnode_modulesの使い方がイマイチわかりません。
(大体の記事は「npm installでインストールできた~」で止まっており、その先の使い方が見つからず……)

ご存知の方がいらっしゃいましたら、ご教示いただけますと幸いです。

過去の質問

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

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

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

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

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

guest

回答2

0

ベストアンサー

過去の質問にもコメントしましたが、node_modulesに入れたJavaScriptは、ブラウザからは基本的にそのまま使えないと考えてください

Nodeで何かしらのビルドシステムを利用して、出来上がったJavaScriptをブラウザに読ませる形となります。

投稿2018/10/07 03:19

maisumakun

総合スコア145183

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

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

0

npm installにて追加したmoduleの使用方法として大きく2パターンあります。

1.コピーして使用する(ブラウザで実行するJavaScript)

それとも、node_modules配下からコピペでpublicフォルダに移動して、呼び出すのでしょうか?

記載のとおり、node_module配下のファイルをソース、もしくは公開ディレクトリに配置して使用します。
コピーしたディレクトリ(public)に対して<script src="/public/jquery/jquery.min.js"></script>のように記載するため、node_moduleディレクトリの記載はありません。

ブラウザで起動するJavaScriptとして使用する場合はこのような手法を取ることが多いです。(例:Jquery,bootstrapなど)

2.そのまま使用する(サーバーサイドで実行するJavaScript(node.js))

これは何かしらのフレームワークを使用した場合となります。これはブラウザとしてではなくnodeとして使用する場合に多いです。例えばnode.jsのexpressフレームワークはWEBサーバとして動かすフレームワークですが、サーバサイドJavaScriptとして実行させるためnode_moduleディレクトリ配下のファイルは移動(コピペ)しません。

JavaScript

1const express = require('express') 2const app = express() 3const port = 3000 4 5app.get('/', (req, res) => res.send('Hello World!')) 6 7app.listen(port, () => console.log(`Example app listening on port ${port}!`))

まとめると

  • ブラウザで実行する場合は移動(コピペ)する
  • サーバーで実行する場合は移動しない

使用するフレームワークによっては例外もあるかもしれませんので参考程度に

投稿2018/10/08 07:24

mosapride

総合スコア1480

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問