Grunt: 监听文件修改及重启node服务器

VPS上用Grunt做任务自动化:轻量、稳定、可审计的务实选择 Grunt作为JavaScript任务运行器,本质是基于配置驱动的自动化执行框架,其核心原理在于通过Gruntfile.js声明式定义任务流与插件协作机制,实现构建逻辑的显式化与可追溯性。技术价值体现在低抽象层级带来的高可控性、强错误隔离性及跨Linux发行版的环境一致性,特别适合资源受限、运维需审计、长期稳定优先的VPS场景。在Ubuntu、CentOS、AlmaLinux等常见VPS系统中,Grunt配合grunt-cli能规避npm script的shell兼容性问题和Webpack的版本漂移风险,同 阅读详情

Grunt简介

grunt简介截图

Grunt是一个基于node.js的自动化构建工具,合理的设置grunt能帮助前端开发人员轻松完成诸如less、coffeescript编译,css、JavaScript压缩等基础而繁琐的工作,更多高级用法请自行探究。

因为公司这边用的是基于百度fis3开发的自动化构建工具,所以没仔细研究Grunt,今天做项目的时候,因为每次修改完文件都要重启服务器才能看到效果,所以简单地设置一下Grunt,满足了基本需求,如果后续深入研究,会继续更新这篇博客。

Grunt配置

①安装grunt及grunt插件

在package.json文件如下:

{
  "name": "demo",
  "version": "1.0.0",
  "description": "simple demo for learning",
  "main": "index.js",
  "license": "ISC",
  "dependencies": {
    "express": "^4.13.4",
    "grunt": "~0.4.5",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-develop": "~0.4.0"
  }
}

如上所示,在package.json文件的dependencies里面添加:

    "grunt": "~0.4.5",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-develop": "~0.4.0"

得益于node的依赖管理机制,添加grunt超级简单,添加完后,在项目根目录执行下面命令,安装grunt及grunt插件即可:

npm install
②配置Grunt

在项目根目录新建Gruntfile.js,如下:

module.exports = function (grunt) {
  grunt.initConfig({
    watch: {
      js: {
        files: ['index.js'],  //can use regex to match file
        tasks: ['develop'],
        options: { 
          nospawn: true   //is important !You need to specify nospawn : true in your watch task configuration so that the called tasks run in the same context.
        }
      }
    },
    develop: {
      server: {
        file: 'index.js'  //the file to start server
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-develop');

  grunt.registerTask('default', ['develop', 'watch']);
};

最近

自古风云多变幻。最近两个月发生太多事了,也很久没写博客了,之前学的sidekiq,rails配置邮件发送,搜索引擎solr之类的都没来得及写,以后有时间会再补上来。

愿每天都是新的开始,愿何时何地都有一小片净土能安放下我的电脑,安放下隐隐躁动的心,潜龙勿用。

Grunt自动化加密js环境 grunt自动化加密js环境,我自己封装的啊,有了nodejs环境后,肯定能用!! 立即下载

相关推荐

grunt-services:启动和停止数据库服务

咕噜服务 启动和停止数据库服务 入门 这个插件需要 Grunt。 如果您以前没有使用过 ,请务必查看指南,因为它解释了如何创建以及安装和使用 Grunt 插件。 熟悉该过程后,您可以使用以下命令安装此插件: npm install grunt-services --save-dev 安装插件后,可以使用以下 JavaScript 代码在 Gruntfile 中启用它: grunt . loadNpmTasks ( 'grunt-services' ) ; 任务 所有任务都是普通任务,这意味着您必须将它们包含在grunt.registerTask()语句中或直接从命令行调用它们。 可用的任务是: startRedis启动Redis 数据库。 startMongo启动 Mongodb 数据库。 startPostgres启动 Postgres 数据库。 stopRedis停止

Grunt 新手一日入门

Grunt 新手一日入门 尊重版权,转自:http://yujiangshui.com/grunt-basic-tutorial/ 当时学习 Grunt 的时候,真是很头疼。分了两个时间段,学习了两次才硬啃下来,之后才能用在项目中。主要原因我认为是学习资料和文档上面写的太高端了。这类的文档或者资料有个显著特点,上来先简单介绍一下这个玩意(Grunt 是一个 JavaScript

uncle的专栏 930

Cadence公司的数字IC设计工具:综合工具(Genus)——(2)

介绍Cadence公司的数字IC设计工具Genus

qq_42922513的博客 1943

Grunt集成自动重启

Grunt-JavaScript世界的构建工具 利用Grunt集成自动化,不再每次修改文件后都要重新启动服务器,对于压缩、编译、单元测试等,减少重复的任务。 Grunt集成自动重启步骤: 1、利用“npm init”生成package.json文件,该文件为Grunt必需文件。 2、npm全局安装grunt-cli、grunt-contrib-watch、grunt-nodemon、gru

zza000000的博客 2288

电动转向系统 TAS 传感器

靠扭杆变形测力气,用霍尔效应算角度,借 ECU 给电机发指令。它就像 EPS 系统的 "神经末梢",把驾驶员的操作意图转化成电信号,再通过电机变成实实在在的助力,让我们开车既省力又安全。下次转动方向盘时,不妨想想这个藏在转向柱里的 "小传感器"—— 正是它的精准感知,才有了每一次顺畅的转向体验。

weixin_59825476的博客 4283

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

服务器时不时的会发送短信说你服务器有病毒,找到了这个tmp文件,删除了之后又有了。确实是有很多人就这么无聊,每天都攻击你的服务器。找了很久的原因,网上也提供了一大堆方法,但都是很简陋的答案,具体怎么操作并没有说。没办法只能自己去排查这个问题。从两个角度来考虑,第一是服务器系统问题,比如宝塔的漏洞。但一时半会看不出问题来。只能去排查自己的项目代码。最后了解到代码确实是存在漏洞的。但代码中也确实了很多的校验,为什么会存在漏洞了?这就不得不从上传的过程开始说起。

guiplan 1497

Node.js监听文件的变化

watch 方法通过监听操作系统提供的各种事件实现对文件变化的监听,相较于 watchFile 方法性能更高,因此优先考虑使用 watch 方法。但是它在某些操作系统的某些情况下不可用(比如在 Windows 上,如果监视目录被移动或重命名,则不会触发任何事件)。此外,watch 方法还能监听文件夹。如果除了监听文件的变化,还需要获取新增的内容。使用 readFile 方法或 readline 模块都必须每次读取文件的所有内容,然后通过对比获取新的内容,这样做比较繁琐而且性能不高。两种方法监听文件变化。

2301_79959413的博客 3335

电磁兼容(EMC)整改案例(七):EFT测试失败都是IC悬空引脚惹的祸

无论任何时候,为了避免这些问题,通常建议对悬空的IO口进行适当的配置,比如设置为强推挽输出低电平、输入带上拉或下拉电阻等,以减少外部电路对IO管脚状态的影响,并提高系统的稳定性和可靠性.

linkking27的博客 1032

grunt系列启动grunt项目

      启动grunt project:       1、已经存在的grunt project        假设grunt CLI已经安装了,项目里面已经有package.json和Gruntfile,启动很简单:   到项目的根目录 安装项目依赖: npm install   启动grunt grunt         2、一个新的grunt pr...

Focus-Fe 1175

100天精通Python(爬虫篇)——第118天:selenium自动化操作浏览器基础大总结

一、Selenium框架环境搭建 1. 下载模块 2. 安装浏览器驱动WebDriver 二、基础操作 1. 打开浏览器 2. 无界面模式 3. 元素定位 4. 元素操作 5. 前进后退 6. 执行js 7.页面等待 隐式等待(常用) 显式等待(了解) 三、进阶操作 1. 使用代理ip 2. 修改请求头 3. 隐藏指纹特征.....................

努力让自己发光,对的人才能迎着光而来 10万+

【时时三省】tessy 集成测试 总论

序论不积跬步无以至千里,不积小流无以成江海。正文。

时时三省的博客 1147

使用Grunt启动和运行

原文地址:http://www.smashingmagazine.com/2013/10/29/get-up-running-grunt/ 这篇文章中,我们将介绍如何在项目使用Grunt让你的网站更快。我们简要分析下grunt能够做什么,如何创建和使用各种插件完成各种繁重的任务。我们将看看如何构建一个简单的表单验证器,使用Sass预处理器,如何使用grunt-cssc和Css...

weixin_34315189的博客 612

英伟达 Jetson AGX Thor 官方入门教程(一)系统U盘安装

NVIDIA Jetson AGX Thor开发套件快速安装指南 本指南详细介绍了NVIDIA Jetson AGX Thor开发套件的安装流程。该套件搭载T5000 SoM,为物理AI和机器人应用提供强大支持。安装过程采用全新的JetPack 7.0方案,通过USB闪存盘即可完成BSP(Jetson Linux)安装,无需依赖Ubuntu主机。指南包含硬件开箱说明、两种配置模式(带显示器/无显示器)、详细的ISO镜像下载和USB制作步骤(推荐使用Balena Etcher工具),以及首次启动后的初始设置流

机器人控制与仿真应用 2867

Grunt安装教程详解

上一篇我们已经通过自己勤劳的双手和智慧的大脑把node给装上了,这一篇我们就来学一下如何安装grunt当然,grunt安全前提是得先装node,废话不多说,还是简洁明了的傻瓜式教程奉上Grunt是啥? Grunt是一个带有内建的常用任务的基于任务的构建工具 这么说可能你会有点晕+_+ 我们来通俗的说一下,平常我们的项目中,可能需要不停的做一些重复的任务,例如压缩(minifi

卡布洛技术专栏 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Grunt-Express-Server:一款优秀的Express服务器运行Grunt插件

Grunt-Express-Server:一款优秀的Express服务器运行Grunt插件 Grunt-Express-Server 是一个使用 JavaScript 编写的开源项目,旨在为 Grunt 提供一个运行 Express 服务器的任务。该项目能够与 LiveReload 和 Watch/Regarde 功能完美配合,使得开发者可以更加便捷地进行前端开发。 1. 项目基础介绍 Grunt...

gitblog_00474的博客 920

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NodeJs Grunt创建项目

 Node的express创建项目的具体步骤: 1、安装Node,现在Node安装包进行安装即可; 2、安装grunt-cli : 打开cmd,以管理员的身份运行,将grunt-cli安装到全局环境中去。grunt-cli是grunt的命令行,负责调用同一目录下的grunt。       npm  install -g grunt-cli       验证是否生效: grunt     -----...

我喜欢你喜欢我的歌 459

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Plone 5主题开发为何必须用Grunt构建工作流

前端构建工具是现代Web开发的基础能力,它将源码(如Sass、ES6、HTML模板)自动化编译为浏览器可执行的静态资源。其核心原理在于任务编排、文件监听与环境适配,技术价值体现在提升协作效率、保障构建可复现性、降低人为错误率。典型应用场景包括CMS主题定制、遗留系统前端现代化改造及跨团队前后端分离开发。在Plone 5生态中,由于Resource Registry专注后端资源调度而非前端工程化,Grunt作为外部构建引擎,恰好填补了Sass编译、JS转译、CSS压缩与Diazo模板预处理等关键能力缺口,成为

adr5970的博客 381

Sails 资产热更新机制解析:深入理解 tasks/config/watch.js 中的 Grunt watch 任务

`tasks/config/watch.js` 是 Sails 应用默认资产管线(Asset Pipeline)中的关键一环,它配置了一个名为 `watch` 的 Grunt 任务,负责在 `assets` 文件夹与 `tasks/pipeline.js` 中的文件被新增、修改或删除时自动重新执行预定义任务。读完本文,你将完整掌握 Sails 开发环境下"改完前端资源无需重启服务器"的底层工作流程

gitblog_00391的博客 309

Node.js环境+Grunt构建:一步步搞定Elasticsearch-Head本地开发与调试环境(Windows/Mac通用)

本文详细介绍了如何在Windows/Mac系统下使用Node.js环境和Grunt构建工具搭建Elasticsearch-Head本地开发与调试环境。从Node.js配置、Grunt构建系统解析到源码结构与定制开发指南,帮助开发者深入理解这一经典Elasticsearch可视化工具的开发流程,实现功能扩展与二次开发。

weixin_30696427的博客 642

Node 工具 | nodemon 详解

本文已整理到 Github,地址 ???? blog。 如果我的内容帮助到了您,欢迎点个 Star ???????????? 鼓励鼓励 :) ~~ 我希望我的内容可以帮助你。现在我专注于前端领域,但我也将分享我在有限的时间内看到和感受到的东西。 nodemon 是一种工具,可在检测到目录中的文件更改时通过自动重新启动节点应用程序来帮助开发基于 node.js 的应用程序。 可以在 nodemon-demo 下进行测试 ...

lio-zero 的博客 1215

grunt集成自动启动

Grunt可以执行像压缩, 编译, 单元测试, 代码检查以及打包发布的任务。 本文介绍使用Grunt实现nodejs程序自启动功能。 目录: Grunt介绍 Grunt安装 Grunt使用 Grunt常用加载任务的插件:     1)grunt-contrib-watch     2)grunt-nodemon     3)grunt-concurrent 1.Gr...

weixin_34245169的博客 253

Visual Studio Code 内置 Grunt 扩展:把 gruntfile.js 任务无缝接入 Tasks 自动检测与运行实战

Grunt 是经典的 JavaScript 任务运行器(Task Runner),而 Visual Studio Code 在安装包内就自带了一个名为 **Grunt support for VS Code** 的扩展。本文基于该扩展的官方说明文档与源码,讲解它如何自动读取项目根目录 `gruntfile.js`(或 `Gruntfile.js`)中定义的任务、将它们转化为 VS Code Tas

gitblog_00607的博客 407

Sails 前端资产流水线:tasks/config/ 目录下的 Grunt 任务配置全解析

`tasks/config/` 是 Sails 应用解剖结构(anatomy)中承载前端资产构建的核心目录:这里的每一个 JavaScript 文件都对应一个 Grunt 任务配置,共同组成 Sails 开箱即用的前端资产流水线——从 LESS/CoffeeScript 编译、ES6+ 转译,到文件合并、压缩、缓存戳(cache busting)与自动注入。本文以 [docs/anatomy/ta

gitblog_00302的博客 989

Boostnote-Legacy 构建指南:从 Webpack HMR 开发调试到 Grunt 多平台打包部署

Boostnote 是基于 Electron 的开源 Markdown 笔记应用(本仓库为 Boostnote-Legacy 版本)。本文以 [docs/zh_CN/build.md](https://link.gitcode.com/i/833b0e24501873a8dbae631ca40785ab) 为主线,完整讲解该项目的开发环境配置、基于 Webpack HMR 的开发调试流程,以及使用

gitblog_00819的博客 404

grunt打包

转自:http://blog.youkuaiyun.com/kabulore/article/details/51789762上一篇我们已经通过自己勤劳的双手和智慧的大脑把node给装上了,这一篇我们就来学一下如何安装grunt当然,grunt安全前提是得先装node,废话不多说,还是简洁明了的傻瓜式教程奉上Grunt是啥?Grunt是一个带有内建的常用任务的基于任务的构建工具这么说可能你会有点晕+_+我们来...

sinat_38992528的博客 611
上一篇: ReactJS修炼之路(三):props vs state
下一篇: 改进:js修改iOS微信浏览器的title
Sheldon_Law
博客等级 码龄11年 44粉丝 32原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值