日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

grunt集成自动启动

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 grunt集成自动启动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Grunt可以執行像壓縮, 編譯, 單元測試, 代碼檢查以及打包發布的任務。

本文介紹使用Grunt實現nodejs程序自啟動功能。

目錄:

  • Grunt介紹
  • Grunt安裝
  • Grunt使用
  • Grunt常用加載任務的插件:
  •     1)grunt-contrib-watch?

        2)grunt-nodemon

        3)grunt-concurrent?

    1.Grunt介紹

      Grunt是一個自動化的項目構建工具. 如果你需要重復的執行像壓縮, 編譯, 單元測試, 代碼檢查以及打包發布的任務. 那么你可以使用Grunt來處理這些任務, 你所需要做的只是配置好Grunt, 這樣能很大程度的簡化你的工作.

    如果在團隊中使用Grunt, 你只需要與其他人員約定好使用Grunt應該規避的問題, 就能夠很方便的自動化的處理大部分的常見工作任務, 你所付出的努力幾乎為0.

    1.Grunt安裝

    我目錄下的文件(使用express ?-e test新建的一個項目)

    Grunt和Grunt插件都是通過npm, Node.js包管理器安裝和管理的

    我的系統環境:

    • win7 64bit
    • nodejs:6.3.1
    • npm:3.10.3

    ?本地安裝grunt

    后面加上 --save-dev,可以直接把grunt作為devDependencies寫入的package.json中

    安裝完grunt后,還需要安裝一個grunt插件:grunt-cli,為什么需要grunt-cli這個模塊,有了grunt-cli,你可以在項目的任意子目錄中運行grunt?。

    grunt-cli的工作原理:每次運行grunt?時,他就利用node提供的require()系統查找本地安裝的 Grunt。正是由于這一機制,你可以在項目的任意子目錄中運行grunt?。如果找到一份本地安裝的 Grunt,CLI就將其加載,并傳遞Gruntfile中的配置信息,然后執行你所指定的任務。

    grunt-cli需要全局安裝的原因:當執行grunt命令時,會默認先去全局的grunt-cli下找grunt-cli模塊,而不會先走當前目錄下的node_modules的grunt-cli

    此時執行grunt,會報如下錯誤:

    實際上grunt運行,依賴package.json和Gruntfile.js兩個文件,項目初始化時,已經生成了package.json文件,這里還缺少Gruntfile.js文件

    新建Gruntfile.js文件:

    再次運行grunt:

    ?

    沒有報錯,但是提示默認的任務沒有找到,這是因為我們在Gruntfile.js文件中沒有添加任務,包括默認任務。

    gurnt的自啟動實現,需要三個加載任務的插件:

    他們的安裝方式如下:

    npm install grunt-contrib-watch --save-devnpm install grunt-nodemon --save-devnpm install grunt-concurrent --save-dev

    安裝完的package.js文件如下:

    {"name": "test","version": "0.0.0","private": true,"scripts": {"start": "node ./bin/www"},"dependencies": {"body-parser": "~1.15.1","cookie-parser": "~1.4.3","debug": "~2.2.0","ejs": "~2.4.1","express": "~4.13.4","morgan": "~1.7.0","serve-favicon": "~2.3.0"},"devDependencies": {"grunt": "^1.0.1","grunt-concurrent": "^2.3.1","grunt-contrib-watch": "^1.0.0","grunt-nodemon": "^0.4.2"} } grunt、grunt-concurrent、grunt-contrib-watch、grunt-nodemon模塊名分別存放在devDependencies下。
    grunt-concurrent:針對慢任務的插件,優化慢任務 grunt-contrib-watch:可以監控特定的文件,在添加文件、修改文件、或者刪除文件的時候自動執行自定義的任務,比如 livereload 等等
    grunt-nodemon:實時監聽入口文件(app.js),入口文件出現改動,就會自動重啟
    下面來編寫Gruntfilr.js文件
    module.exports = function(grunt){grunt.initConfig({watch:{ejs:{files:['views/*'],options:{livereload:true}},js:{files:['public/javascripts/*'],// tasks:['jshint'], options:{livereload:true}}},nodemon:{dev:{options:{file:'app.js',args:[],ignoredFiles:['node_modules/**','DS_store'],watchedExtensions:['js'],watchedFolders:['./'],debug:true,delayTime:1,env:{PORT:3000},cwd:__dirname}}},concurrent:{tasks:['nodemon','watch'],options:{logConcurrentOutput:true}}});grunt.loadNpmTasks('grunt-contrib-watch'); //只要有文件修改,增加刪除,就會重新執行grunt.loadNpmTasks('grunt-nodemon'); //實時監聽入口文件(app.js),入口文件出現改動,就會自動重啟grunt.loadNpmTasks('grunt-concurrent'); //針對慢任務的插件,優化慢任務 grunt.option('force',true);grunt.registerTask('default',['concurrent']); }

    上述livereload:true,表示監聽的文件被修改以后,自動刷新頁面。

    再次運行grunt:

    啟動成功!!!!

    打開app.js文件,隨便敲幾個空格并保存之后,看到控制臺有如下變化:

    ?

    ?

    ? ? ?

    ?

    轉載于:https://www.cnblogs.com/y-yxh/p/5808566.html

    總結

    以上是生活随笔為你收集整理的grunt集成自动启动的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。