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命令, 然後通過命令列一鍵並行開啟多個服務
相關文章
- 筆記:同時開啟幾個服務使用 nginx 共用80埠筆記Nginx
- Windows環境同時啟動多個TomcatWindowsTomcat
- Window開啟服務的DOS命令
- oracle監聽不到例項服務Oracle
- gulp壓縮html,css,js檔案流程、監聽任務、使用gulp建立伺服器、同時執行多個任務、反向代理HTMLCSSJS伺服器
- Oracle啟動兩個監聽Oracle
- nginx 80埠監聽多個域名Nginx
- centos 7 下搭建zabbix監聽服務CentOS
- 如何在Linux終端同時執行多個Linux命令Linux
- select監聽多個client -- linux函式clientLinux函式
- [20200115]監聽中沒有xdb服務.txt
- hyperf 啟動、重啟、停止、檔案變化監聽命令包
- 使用 javassist 修改位元組碼實現 eureka-client 監聽服務啟動Javaclient
- 時間監聽
- python 同時迭代多個序列Python
- netty服務端監聽客戶端連線加入和斷開事件Netty服務端客戶端事件
- Vue:watch 監聽多個屬性值的方法Vue
- 【Azure 應用服務】一個 App Service 同時部署執行兩個及多個 Java 應用程式(Jar包)APPJavaJAR
- golang 同時(一個專案)註冊http和GRPC服務GolangHTTPRPC
- [20180509]配置靜態監聽服務與ORA-12514
- Oracle監聽器中的XDB、XPT和PLSExtProc服務Oracle
- Windows平臺如何修改監聽的服務名稱?Windows
- Rpc-實現Client對ZooKeeper的服務監聽RPCclient
- What?一個 Dubbo 服務啟動要兩個小時!
- 多臺kafka同時啟動shell指令碼Kafka指令碼
- 一條命令開啟監控之旅!
- 前端如何用node開啟一個服務前端
- Systemctl幾個操作服務命令
- 當 Kotlin 中的監聽器包含多個方法時,如何讓它 “巧奪天工”?Kotlin
- shell監控服務程式是否啟動
- 一行命令同時修改maven專案中多個mudule的版本號Maven
- 監聽視窗大小改變,同時根據視窗大小修改某個元素的大小
- tomcat8.5服務開啟zabbix遠端監控配置修改Tomcat
- 命令列重啟遠端桌面服務命令列
- 啟動資料庫監聽資料庫
- windows 系統下 workerman 在同一個執行視窗中開啟多個 websocket 服務WindowsWeb
- 良許 | 從命令列同時移動多個檔案型別的小技巧命令列型別
- Vue_watch深度監聽的正確開啟方式Vue