Submit Search
Upload
Npm 套件管理 & 常用開發工具介紹
•
21 likes
•
16,921 views
W
wantingj
Follow
Npm 套件管理 & 常用開發工具介紹 (npm,bower,grunt,gulp)
Read less
Read more
Technology
Report
Share
Report
Share
1 of 17
Download now
Download to read offline
Recommended
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
Kohei Saito
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
Hiroshi Tokumaru
測試是什麼
測試是什麼
Yvonne Yu
認試軟體測試的世界 & TDD/BDD 入門
認試軟體測試的世界 & TDD/BDD 入門
wantingj
SpringBootTest入門
SpringBootTest入門
Yahoo!デベロッパーネットワーク
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
Asami Abe
Testing with Express, Mocha & Chai
Testing with Express, Mocha & Chai
Joerg Henning
Recommended
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
Kohei Saito
ウェブアプリケーションセキュリティ超入門
ウェブアプリケーションセキュリティ超入門
Hiroshi Tokumaru
測試是什麼
測試是什麼
Yvonne Yu
認試軟體測試的世界 & TDD/BDD 入門
認試軟體測試的世界 & TDD/BDD 入門
wantingj
SpringBootTest入門
SpringBootTest入門
Yahoo!デベロッパーネットワーク
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
Asami Abe
Testing with Express, Mocha & Chai
Testing with Express, Mocha & Chai
Joerg Henning
Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪
Igarashi Toru
Microservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
コンテナライフサイクルを守るセキュリティソリューション Aqua Cloud Native Security Platform
コンテナライフサイクルを守るセキュリティソリューション Aqua Cloud Native Security Platform
Creationline,inc.
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS Summit
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS Summit
Amazon Web Services
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
Gelis Wu
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
Proxy War
Proxy War
zaki4649
Spring User Guide
Spring User Guide
Muthuselvam RS
[Flutter Meetup In Songdo] 상태관리 올바르게 쓰기
[Flutter Meetup In Songdo] 상태관리 올바르게 쓰기
SuJang Yang
API Token 入門
API Token 入門
Andrew Wu
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
Masaya Tahara
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
LINE Corporation
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaro yoyo
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
Masaru Takahashi
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
Learning React - I
Learning React - I
Mitch Chen
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
More Related Content
What's hot
Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪
Igarashi Toru
Microservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
コンテナライフサイクルを守るセキュリティソリューション Aqua Cloud Native Security Platform
コンテナライフサイクルを守るセキュリティソリューション Aqua Cloud Native Security Platform
Creationline,inc.
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS Summit
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS Summit
Amazon Web Services
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
Gelis Wu
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Takanori Suzuki
Proxy War
Proxy War
zaki4649
Spring User Guide
Spring User Guide
Muthuselvam RS
[Flutter Meetup In Songdo] 상태관리 올바르게 쓰기
[Flutter Meetup In Songdo] 상태관리 올바르게 쓰기
SuJang Yang
API Token 入門
API Token 入門
Andrew Wu
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
Masaya Tahara
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
LINE Corporation
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaro yoyo
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
Masaru Takahashi
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
What's hot
(20)
Private Azure Kubernetes Service cluster を触ってみよう♪
Private Azure Kubernetes Service cluster を触ってみよう♪
Microservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloud
Spring starterによるSpring Boot Starter
Spring starterによるSpring Boot Starter
コンテナライフサイクルを守るセキュリティソリューション Aqua Cloud Native Security Platform
コンテナライフサイクルを守るセキュリティソリューション Aqua Cloud Native Security Platform
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS Summit
VMware Cloud on AWS: Technical Deep Dive - SRV341 - Chicago AWS Summit
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
Proxy War
Proxy War
Spring User Guide
Spring User Guide
[Flutter Meetup In Songdo] 상태관리 올바르게 쓰기
[Flutter Meetup In Songdo] 상태관리 올바르게 쓰기
API Token 入門
API Token 入門
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
de:code 2019 Azure IoT Hub クラウド側の最新機能:デモも交えてご紹介
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Viewers also liked
Learning React - I
Learning React - I
Mitch Chen
Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Ben Lue
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
我編譯故我在:誰說 Node.js 程式不能編成 binary
我編譯故我在:誰說 Node.js 程式不能編成 binary
Fred Chien
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
鍾誠 陳鍾誠
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
Fred Chien
用JavaScript 實踐《軟體工程》的那些事兒!
用JavaScript 實踐《軟體工程》的那些事兒!
鍾誠 陳鍾誠
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
鍾誠 陳鍾誠
十分鐘讓程式人搞懂雲端平台與技術
十分鐘讓程式人搞懂雲端平台與技術
鍾誠 陳鍾誠
Visual Studio Code 快速上手指南
Visual Studio Code 快速上手指南
Shengyou Fan
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
NodejsFoundation
Stem is JavaScript OS
Stem is JavaScript OS
Fred Chien
Introduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript Conference
Bo-Yi Wu
CP 值很高的 Gulp
CP 值很高的 Gulp
Yvonne Yu
webpack 入門
webpack 入門
Anna Su
第一次用 Vue.js 就愛上 [改]
第一次用 Vue.js 就愛上 [改]
Kuro Hsu
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Vitalij Zadneprovskij
Parse, cloud code 介紹
Parse, cloud code 介紹
wantingj
Viewers also liked
(20)
Learning React - I
Learning React - I
Node.js從無到有 基本課程
Node.js從無到有 基本課程
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
學好 node.js 不可不知的事
學好 node.js 不可不知的事
Node.js 進攻桌面開發
Node.js 進攻桌面開發
我編譯故我在:誰說 Node.js 程式不能編成 binary
我編譯故我在:誰說 Node.js 程式不能編成 binary
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
Java script 全面逆襲!使用 node.js 打造桌面環境!
Java script 全面逆襲!使用 node.js 打造桌面環境!
用JavaScript 實踐《軟體工程》的那些事兒!
用JavaScript 實踐《軟體工程》的那些事兒!
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
十分鐘讓程式人搞懂雲端平台與技術
十分鐘讓程式人搞懂雲端平台與技術
Visual Studio Code 快速上手指南
Visual Studio Code 快速上手指南
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
Stem is JavaScript OS
Stem is JavaScript OS
Introduction to Grunt.js on Taiwan JavaScript Conference
Introduction to Grunt.js on Taiwan JavaScript Conference
CP 值很高的 Gulp
CP 值很高的 Gulp
webpack 入門
webpack 入門
第一次用 Vue.js 就愛上 [改]
第一次用 Vue.js 就愛上 [改]
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Parse, cloud code 介紹
Parse, cloud code 介紹
Similar to Npm 套件管理 & 常用開發工具介紹
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017
Hamilton Wong
Npm node.js的套件管理程式
Npm node.js的套件管理程式
Chuyi Huang
Ian 20150515 grunt
Ian 20150515 grunt
LearningTech
Vic weekly learning_20160504
Vic weekly learning_20160504
LearningTech
Grunt
Grunt
lylijincheng
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架
Will Huang
前端自動化工具
前端自動化工具
國昭 張
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
Kenny (netman)
scriptcs 簡介
scriptcs 簡介
Huan-Lin Tsai
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
LainZQ
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
Jason Zheng
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
haiyuan ning
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
GCP 的應用
GCP 的應用
Patrick Her
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
Laird Cheng
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
Justin Lin
Noder eyes for frontend guys
Noder eyes for frontend guys
Hsu Ping Feng
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Will Huang
Similar to Npm 套件管理 & 常用開發工具介紹
(20)
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017
Npm node.js的套件管理程式
Npm node.js的套件管理程式
Ian 20150515 grunt
Ian 20150515 grunt
Vic weekly learning_20160504
Vic weekly learning_20160504
Grunt
Grunt
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架
前端自動化工具
前端自動化工具
Nagios的安装部署和与cacti的整合(linuxtone)
Nagios的安装部署和与cacti的整合(linuxtone)
Linux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
scriptcs 簡介
scriptcs 簡介
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
GCP 的應用
GCP 的應用
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
Noder eyes for frontend guys
Noder eyes for frontend guys
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Npm 套件管理 & 常用開發工具介紹
1.
NPM 套件管理 &
常用開發 工具介紹 Wan-Ting Jheng 2015/4/7
2.
● 以往 javascript
只能在瀏覽器上運行 ● Node.js 不是一種程式語言,也不是 javascript ● 它是 javascript 運行平台 ● 使用 Google Chrome V8 JavaScript execution engine ● 下載安裝 https://nodejs.org/download/ Node.js
3.
NPM (Node Package
Manager) ● Node 模組套件管理器 ● 安裝 Node.js 會連帶安裝 NPM ● NPM 建立了 Node.js 的生態圈 ○ 開發者可以透過 NPM 上傳/下載 模組 ● 在 NPM 官網可以查到目前有哪些模組 ○ 官網 https://www.npmjs.com/
4.
NPM 常用指令 # 安裝套件
-g 代表全域安裝,完成後可以用在指令列 npm install <package name> -g # 將套件安裝在目前目錄的專案中 npm install <package name> # 移除全域套件 npm uninstall <package name> -g # 移除專案裡的套件 npm uninstall <package name> # 搜尋套件 npm search <package name>
5.
NPM 常用指令 # 列出全域套件 npm
ls -g # 列出專案使用的套件 npm ls # 更新全域套件 npm update -g # 更新專案套件 npm update
6.
package.json ● 管理專案套件相依性以及所使用到的模組套件 ● 放在專案根目錄下 ●
參考 https://docs.npmjs.com/files/package.json ● npm 相關指令 # 產生 package.json,只有版本和名字是必填 npm init # 根據 package.json 內容替專案安裝相關模組套件 npm install
7.
package.json 範例 { "name": "projName", "version":
"1.0.0", "description": "test", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC", "dependencies": { //套件相依 }, "devDependencies": { //開發套件相依 "gulp": "^3.8.11" } }
8.
Bower ● Twitter 團隊開發的前端開發套件管理工具 ●
管理/安裝 前端開發所需要的 package (css/javascript) ● 自動依套件相依性安裝 ● 以往開發很常遇到的情境: 專案使用了許多外部工具(例如 jQuery, bootstrap ...) 每隔一陣子想更新到最新版本,就要分別下載更新 並且可能會有相容性問題要處理 ● bower 可以解決以上問題
9.
Bower 相關指令 # 首先要透過
npm 全域安裝 bower npm install bower -g # 查專案安裝套件 bower install <package-name> # 查詢專案目前安裝的套件 bower list # 更新套件 bower update <package-name> # 搜尋套件 bower search <package-name>
10.
Grunt ● Task Runner,任務自動化管理工具 ●
簡化、自動化 繁瑣事務 ○ 壓縮/編譯/單元測試/linting/部署 ... ● Gruntfile.js ○ 放在專案根目錄下 ○ 用來設定任務與載入Grunt外掛 ○ 實際要做的自動化任務,都在這裡定義
11.
Grunt 相關指令 # 透過
npm 安裝 cli npm install -g grunt-cli # 專案安裝 grunt 並加進 package.json的devDependencies npm install grunt --save-dev # 執行 Grunt default 任務列表 grunt # 執行 套件任務列表 grunt <taskName> # 執行 套件任務特定目標 grunt <taskName>:<targetName>
12.
Gruntfile.js 範例
13.
Gulp ● 和 grunt
一樣,也是任務自動化管理工具 ● gulpfile.js ○ 放在專案根目錄下 ○ 以 javascript 語法撰寫任務內容 ● 提供四個 function ○ task ○ src ○ dest ○ watch
14.
gulpfile.js 範例 var gulp=
require('gulp'), gutil = require('gulp-util'), uglify = require('gulp-uglify'), concat = require('gulp-concat'); gulp.task('js', function () { gulp.src('./js/*.js') .pipe(uglify()) .pipe(concat('all.js')) .pipe(gulp.dest('./js')); }); gulp.task('default', function(){ gulp.run('js'); });
15.
Grunt Gulp 特性 ●
File based ● Configuration over code ● 任務為同步執行 ● Stream based ● Code over configuration ● 任務為非同步執行 優點 ● 發展較早,因此支援的模組 較多 ● 跨平台 ● 易學易用 ● 由於 stream based, 非同步執行的 特性,因此執行速度快 ● 跨平台 缺點 ● 需要編寫許多設定,不易上 手 ● file r/w 頻繁導致專案變大時 效能低落 ● 發展較晚,因此支援的模組較少 Grunt v.s. Gulp
16.
Demo ● 下載以下程式 https://github.com/wantingj/gulp-demo.git ● 在指令列輸入以下指令 ○
將相關的 package 下載至專案中 npm install ○ 執行 default task,此範例有語法檢查與 js 壓縮功能 gulp ● 完成後到專案目錄下檢查會看到多了./js/all.js
17.
Reference DreamersLab - npm
基本指令 http://dreamerslab.com/blog/tw/npm-basic-commands/ 黑暗執行緒 - Gulp, Grunt, Bower以及npm http://blog.darkthread.net/post-2014-09-25-gulp-grunt-bower-npm.aspx [Javascript] bower javascript套件管理工具 初探 http://iambigd.blogspot.tw/2014/06/javascript-bower-javascript.html 小惡魔 - 2013 Javascript Conference: 你不可不知的前端開發工具 http://blog.wu-boy.com/2013/05/2013-javascript-conference-front-tool-grunt-js/ Grunt 快速入門 http://www.gruntjs.net/docs/getting-started/ 小惡魔 - The streaming build system Gulp http://blog.wu-boy.com/2013/12/streaming-build-system-gulp/ 小惡魔 - Automating your workflow with Gulp.js 投影片 http://www.slideshare.net/appleboy/automating-your-workflow-with-gulp Managing Your Build Tasks With Gulp.js http://code.tutsplus.com/tutorials/managing-your-build-tasks-with-gulpjs--net-36910
Download now