[工具] 前後端工具插件管理及更新指令

  • 417
  • 0
  • 2016-02-04

PHP, laravel, 前端工具相關指令: composer, npm,  bower, gem, bundle, gulp, elixir, artisan 的說明

/* Maple 2016.2.5 */


composer   

管理 php 插件

        專案裡控管插件版本的檔案為 composer.json ,composer.lock,下載的插件在 vendor/

更新 composer 自身版本

$ composer self-update

 

同步專案裡的插件

$ composer install

 

升級專案裡的插件

$ composer update

 

增加控管插件

方法1:開啟 composer.json 手動修改

方法2:使用指令

$ composer require 插件名稱 版本

(當有調整插件控管,可能要對照修改 laravel 的 config/app.php 的 providers 與 aliases)

 

重新編譯 autoload 檔案 (composer install會涵蓋此指令)

$ composer dump-autoload


npm    

存在 nodeJs 之中,管理 nodejs 相關插件 (gulp, bower都屬於 npm 並跑在 nodejs 上)

        專案裡控制 npm 版本的檔案為 package.json

        當剛安裝好 nodejs 時,npm 版本會在 nodejs 安裝目錄下,

        npm 的全域安裝則會被安裝到 %appdata%npm 底下

        還會有一個 cache 資料夾在 %appdata%npm_cache

        專案控管的插件會安裝在專案裡的 node_modules/ 底下

       

        清除 cache 資料夾,讓有抓過的插件重新向 server下載

        $ npm clear cache

 

        使用全域安裝,安裝 npm 最新版本

        $ npm install npm -g

 

        在全域安裝新插件,要執行自身指令的插件(例如想要執行 $ gulp)都要先裝在全域

        $ npm install 插件名稱 -g

 

        移除全域的插件

        $npm uninstall 插件名稱 -g   或者到 %appdata%npm 底下刪除

       

        在專案底下同步專案裡的插件

        $ npm install

 

        在專案底下升級專案裡的插件

        $ npm update

 

        在專案底增加控管插件

        $ npm install 插件名稱 --save

 

        指定插件只安裝在開發環境

        $ npm install 插件名稱 --sava-dev

 

        在專案底下移除控管插件

        $ npm uninstall 插件名稱

       

        觀看安裝列表

        $ npm sl


bower

存在 npm 之中,跑在 nodejs 上,控管前端需要使用的 github 插件,包含 js 與 css 等專案,甚至可以同時下載同專案的不同版本

 

        安裝自身在全域才能使用 bower 指令

        npm install bower -g

       

        專案裡控管檔案為 bower.json

        預設專案裡的安裝目錄為 components

 

        安裝新插件

        $ bower install 插件名稱

       

        同步專案插件

        $ bower install

 

        更新專案插件

        $ bower update

 

        移除插件

        $ bower uninstall 插件名稱

       

        觀看安裝列表

        $ bower list

 

        初次建立版控檔案

        $ bower init


gem

存在 ruby 之中,與 compass / sass 插件有關,此安裝都是全域

 

        自身版本更新

        gem update --system

 

        安裝新插件

        gem install 插件名稱

       

        更新插件

        gem update 插件名稱

 

        觀看安裝列表

        $ gem list


bundle

存在於 gem 中,跑在 ruby 環境,用來控管專案裡需要的 ruby 插件

        版控檔案為 gemfile 與 gemfile.lock

 

        安裝自身

        gem install bundle

 

        安裝新插件

        bundle install 插件名稱

 

        同步版控插件 (因為是裝在全域,因此不是 install )

        bundle update


「 其他 」

node, ruby 更新,windows 建議重抓 exe 檔安裝,

若要存在多個版本,必須利用 middleman 或 RVM 等中間層工具,但 windows 上要安裝中間這層控管 node 或 ruby 版本不太好裝。


gulp

跑在 nodejs 上,前端開發自動化工具,可以在開發時自動刷新頁面,執行 sass 編譯,js 壓縮,檔案複製改名等等,以及 php unit test 等工作。

 

        安裝自身在全域,才能使用指令

        npm install gulp -g

 

        專案裡面也要安裝一次

        npm install gulp --save

 

        產生gulpfile.js檔案

        npm init

 

        編譯檔案(僅一次)

        gulp

 

        監聽檔案是否異動,若監聽中有異動就重編譯(注意:剛開始啟動時不會編譯)

        gulp watch

 

        只產生正式環境要的編譯(用elixir的專案可能才有效)

        gulp --production

       

        只執行某一個任務,例如 unit test

        gulp phpUnit

        (其實就是任務的名稱,例如 compass )

        gulp compass


elixir.json

elixir 是 laravel 在 gulp 裡的運用的插件,當有相關參數可以設定時,就另外寫在 elixir.json 中,例如關閉 sourcemaps 設定


.editorconfig

統一不同人的編輯器,其編譯器的 code style 設定(主要為空格或tab),但需要編輯器的支援


.env  

laravel 的專案內可以抓到此檔的設定,另外 php artisan serve 指令也是看此檔案的設定


artisan

php 的指令,可以立即建立一個 server 而不透過 apache 的 httpd 啟動

 

        啟動server

        $ php artisan serve

 

        其他指令(通常 $ composer install 會執行)

        $ php artisan clear-compiled

        $ php artisan optimize

 

        當有新的 migrate ,執行第一次的 migrate 指令

        $ php artisan migrate:install

       

        重新產生 APP_KEY,若 .env 裡面有 APP_KEY 會自動修改,若沒有請手動改

        $ php artisan key:generate