npmscript命令同時開啟多個監聽服務concurrently
最近在搭建一個靜態頁面偏多的網站, 用vue或React有點大材小用,使用純html / css / js 又不好用, 於是就用npm手動搭建一個簡單的本地開發環境, 本地環境要實現幾個基本功能
- 在本地開啟http服務; 且開啟服務後, 會自動開啟瀏覽器
- 瀏覽器自動重新整理; 原始碼變化後, 瀏覽器會自動重新整理顯示內容
- 支援sass語法; 將sass程式碼實時轉換為css
- 支援es6語法; 使用babel將es6轉換為es5
- 開啟http服務, 自動開啟瀏覽器, 實現瀏覽器自動重新整理的實現思路是,在專案內用npm安裝
live-server
- 支援sass語法的實現思路是, 用npm安裝
node-sass
- 支援es6語法的實現思路是, 用npm安裝
babel
,babel-cli
目前看來一切完美
我們把幾個命令配置到package.json
內的scripts
中
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "sass --watch pc/static/scss:pc/static/css mobile/static/scss:mobile/static/css --sourcemap=none&&live-server --port=1208&&babel pc/static/es6-js -d pc/static/js --watch&&babel mobile/static/es6-js -d mobile/static/js --watch&&echo 好好工作!`"
}
執行之後發現了新的問題, 那就是通過
&&
連線起來的命令,會按照順序執行, 一旦有類似sass pc/static/scss:pc/static/css --watch
這種”阻塞”的命令, 後面的命令將會無法執行…
解決方法: 用concurrently
concourrently的作用就是讓”阻塞”的命令, 可以併發執行, 我們改寫package.json
內的scripts
中
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "concurrently `sass --watch pc/static/scss:pc/static/css mobile/static/scss:mobile/static/css --sourcemap=none` `live-server --port=1208` `babel pc/static/es6-js -d pc/static/js --watch` `babel mobile/static/es6-js -d mobile/static/js --watch` `echo 好好工作!`"
},
執行效果
在專案內執行
npm start
小結:
concurrently提供了很有用的功能, 有了concurrently我們可以通過npm install在專案內安裝多個服務,然後配置package.json內的script命令, 然後通過命令列一鍵並行開啟多個服務
相關文章
- wriesharek同時監聽多個埠
- Oracle監聽服務無法啟動Oracle
- 筆記:同時開啟幾個服務使用 nginx 共用80埠筆記Nginx
- 同時配置動態監聽與靜態監聽
- [20161227]開啟多個監聽埠.txt
- 同時多個SQL命令執行的方法SQL
- 服務端配置一個多埠號(如1521/1526)監聽器服務端
- Window開啟服務的DOS命令
- oracle監聽不到例項服務Oracle
- gulp壓縮html,css,js檔案流程、監聽任務、使用gulp建立伺服器、同時執行多個任務、反向代理HTMLCSSJS伺服器
- oracle 監聽配置多個埠Oracle
- 有人知道在corba中如何同時啟動幾個不同的命名服務ORB
- Oracle啟動兩個監聽Oracle
- centos 7 下搭建zabbix監聽服務CentOS
- ORACLE 動態註冊,靜態註冊,多個監聽,一個監聽多個埠配置Oracle
- 資料庫開啟監聽資料庫
- oracle監聽開啟trace fileOracle
- 如何在Android studio中同時開啟多個工程? (轉載)Android
- nginx 80埠監聽多個域名Nginx
- oracle 多個例項監聽不到Oracle
- 如何同時啟動多個Tomcat伺服器Tomcat伺服器
- 【監聽】配置服務端靜態(動態)監聽/修改監聽埠及引數local_listener作用服務端
- oracle 多個例項安裝監聽Oracle
- 如何配置多個監聽器不同埠
- 使用 javassist 修改位元組碼實現 eureka-client 監聽服務啟動Javaclient
- Android Service 服務的應用之電話監聽器以及簡訊監聽器Android
- 時間監聽
- hyperf 啟動、重啟、停止、檔案變化監聽命令包
- 【Azure 應用服務】一個 App Service 同時部署執行兩個及多個 Java 應用程式(Jar包)APPJavaJAR
- 備份與恢復--一個表空間能否被多個資料庫同時開啟?資料庫
- 如何在Linux終端同時執行多個Linux命令Linux
- python 同時迭代多個序列Python
- 前端如何用node開啟一個服務前端
- 通過shell指令碼同時監控多個資料庫負載指令碼資料庫負載
- Oracle監聽器中的XDB、XPT和PLSExtProc服務Oracle
- oracle 監聽重啟Oracle
- iOS-OC-監聽藍芽是否開啟(開啟狀態)iOS藍芽
- shell監控服務程式是否啟動