browser-sync或者lite-server来监控文件的改变,当文件改变时,就自动刷新浏览器。

node-sass来实时编译scss文件。

parallelshell来异步执行npm script命令。

先安装上述的node工具

npm install browser-sync

一、首先新建npm的package.json

package.json一般有如下的结构和选项

{
"name": "about",
"version": "1.0.0",
"scripts": {
},
"devDependencies":{ }
}

devDependencies代表依赖的node工具,scripts代表npm scripts命令。

"scripts": {
"scss": "node-sass -w scss -o css",
"serve": "browser-sync start --server --files \"css/*.css, *.html\"",
"dev": "parallelshell \"npm run serve\" \"npm run scss\""
}

二、运行npm script命令

> npm run dev
  • npm run serve利用node-sass监控scss文件夹中.scss、.sass文件的变化,当这类文件有变化时,就编译到css文件夹中。

  • npm run serve利用browser-sync监控.css文件,.html文件,当这类文件有变化时,就自动刷新浏览器。

三、还可以运行更多的npm scripts命令

例如利用typescript编译.ts文件。

参考: https://css-tricks.com/why-npm-scripts/

npm scripts 助力前端开发,实时刷新浏览器的更多相关文章

  1. websocket实现数据库更新时前端页面实时刷新

    websocket实现数据库更新时前端页面实时刷新 javaweb 目录(?)[+] userjsp ManagerServletjava 如题,实现以上功能,我知道主要有两大种思路: 轮询:轮询的原 ...

  2. grunt实现修改代码实时刷新浏览器

    grunt例子:https://github.com/Aquarius1993/gruntDemo grunt 实时刷新1:           1.安装chrome浏览器插件:liveReload ...

  3. web前端开发中的浏览器兼容性总结

    1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...

  4. 前端开发JavaScript清除浏览器缓存的方法

    查看和删除浏览器缓存的方法=====>打开 最近在开发项目中发现有时候总要频繁地清除浏览器缓存,不然总是显示的过时的信息 浏览器缓存有利有弊,有些数据需要缓存下来使得页面打开更快提高网站性能,但 ...

  5. webpack实现修改代码实时刷新浏览器

    webpack例子:https://github.com/Aquarius1993/webpackDemo 1. 需要全局和项目安装webpack和webpack-dev-server npm ins ...

  6. 前端开发在uc浏览器上遇到的坑

    关于uc 的flex 和textarea 的width:100%: 这些天再做一个wap的项目,本想着手机上不用考虑兼容性问题,可以大刀阔斧搞,fuck ie678! 在pc上完成页面开发,在chro ...

  7. 前端开发,走浏览器缓存真的很烦,拒绝浏览器走缓存从meta标签做起!

    <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv ...

  8. 利用less监视模式实时预览样式刷新浏览器

    [前言]此处介绍的方法只是我个人的用法,相信大家有更好更简洁的方式. 上次写到利用LiveReload解放F5.而且LiveReload可以编辑sass/less/stylus.但是可惜发现LiveR ...

  9. Nginx与前端开发

    Nginx与Node.js "Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡." 作为前 ...

随机推荐

  1. POJ1258-Agri-Net-ACM

    Description Farmer John has been elected mayor of his town! One of his campaign promises was to brin ...

  2. E: Some packages could not be authenticated

    问题:          在Ubuntu上,安装软件时出现了“E: Some packages could not be authenticated”错误. 原因:     表示系统无法验证这个软件包 ...

  3. 关于org.openqa.selenium.ElementNotVisibleException

    最近在使用Selenium,编写最简单的百度search脚本,结果使用name来定位元素抛出了如下exception: 在定位百度的输入框,使用By.name()定位失败,但是使用By.id()和By ...

  4. 工作总结:MFC自写排序算法(升序)

    最近一个需求里面需要实IP升序排序,用了qsort,结果是内部排序,甚至感觉排序结果不可预测性,于是自己写了一个外部排序. 需求如下:一个指针里面有N条记录,每条记录包含:IP,偏移地址,保留位,均占 ...

  5. Prime Path

    poj3126:http://poj.org/problem?id=3126 题意:给你两个数n,k,两个数都是四位数的素数.现在让你改变n的一位数,让n变成另外一个素数.然后把这个素数在改变其中的以 ...

  6. iconv gbk字符转utf8字符

    直接上代码 bool gbk2utf8(const char* src, char* dest, size_t inlen) { const char *inbuf = src; size_t out ...

  7. SwingConsole

    Java的Swing默认不是线程安全的,类的调度应该由线程分派器来安排.如果每个类都各个各的调度,有可能造成线程紊乱,带来一些难以检测的错误. 对于编写实验性代码(每次都只有一个JFrame),如果每 ...

  8. poj 3304 找一条直线穿过所有线段

    题目链接:http://poj.org/problem?id=3304 #include<cstdio> #include<cstring> #include<cmath ...

  9. top -bcn -1

    ^[[?1h^[=^[[?25l^[[H^[[2J^[(B^[[mtop #!/bin/bash#echo 性能数据捕捉时间: `date +%Y-%m-%d_%H:%M:%S` \n >> ...

  10. ssh非交互式密码输入

    ssh登陆不能在命令行中指定密码.sshpass的出现,解决了这一问题.sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码. 它允许你用 -p 参数指定明文密码,然后直接登 ...