npm script 的文件监听和自动刷新的命令详解

所属分类: 网络编程 / 相关技巧 阅读数: 1080
收藏 0 赞 0 分享

文件监听的作用是为了实现自动化,释放双手和精力,提高效率,让开发者更加关注于开发。npm script 文件监听和 grunt、gulp 功能类似。

自动刷新,意思就是改动文件保存后,页面自动刷新,减少日常开发的操作。

代码检查的监听和自动化

代码检查工具 stylelint、eslint、jsonlint 这些对 watch 支持很弱,所以就需要引入工具包 onchange

安装命令依赖包

npm i onchange -D
// 或
yarn add onchange -D

编写命令

"scripts": {
 "//watch": "# 监听", 
 "test": "# 单元测试 \n cross-env NODE_ENV=test mocha tests/",
 "watch:test": "npm test -- --watch",
 "watch:lint": "onchange -i \"**/*.js\" \"**/*.less\" -- npm run lint:css",
 "watch": "npm-run-all --parallel watch:*",
}

剖析命令

  • 使用 \" 是为了实现跨平台兼容;
  • 使用了 **/* 匹配通配符;
  • 参数 -i 是让 onchange 在启动时就运行一次 -- 之后的命令;

执行命令

npm run watch

实现自动刷新

本章主要说的是livereload。

安装命令依赖包

npm i livereload -D
// 或
yarn add livereload -D

编写命令

"scripts": {
 "//livereload": "# 自动刷新",
 "client": "npm-run-all --parallel client:*",
 "client:reload-server": "livereload src/",
 "client:static-server": "http-server src/"
}

页面添加连接 js 脚本

// src/index.html
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>npm script</title>
 <link rel="stylesheet" href="./index.css" rel="external nofollow" >
</head>
<body>
 <h1>你好,npm script</h1>
 
 <script>
 var ctx = '<script src="http://' + (location.host || 'localhost').split(':')[0] +
 ':35729/livereload.js?snipver=1"></' + 'script>';
 document.write(ctx)
 </script>
</body>
</html>

/* src/index.css */
body {
 color: #fff;
 background-color: green;
}

以上所述是小编给大家介绍的npm script 的文件监听和自动刷新的命令详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

更多精彩内容其他人还在看

Git 2.27.0详细安装步骤详解

这篇文章主要介绍了Git 2.27.0详细安装步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

利用git提交代码的方法步骤

这篇文章主要介绍了利用git提交代码的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Windows 系统下的 Git 2.7 最新下载及安装教程图文详解

这篇文章主要介绍了Windows 系统下的 Git 2.7 最新下载及安装教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

git clone 子模块没下载全的问题解决

这篇文章主要介绍了git clone 子模块没下载全的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

git中submodule子模块的添加、使用和删除的示例代码

这篇文章主要介绍了git中submodule子模块的添加、使用和删除的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

如何用idea+gitee来团队合作开发项目的教程

这篇文章主要介绍了如何用idea+gitee来团队合作开发项目,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode配置setting.json文件实现eslint自动格式代码

这篇文章主要介绍了vscode配置setting.json文件实现eslint自动格式代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

AES加密算法的原理详解与实现分析

这篇文章主要介绍了高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,需要的朋友可以参考下
收藏 0 赞 0 分享

JetBrains(IEDA、CLion、Pycharm) 学生获得免费使用资格

JetBrains针对学生推出了免费使用资格,但是很多同学却不知道或者说不知道怎样获得免费资格,通过学生认证来使用JetBrains的软件才是最方便稳定的,具体怎么获取呢,感兴趣的朋友跟随小编一起看看吧
收藏 0 赞 0 分享

Clion、IEDA、pycharm的一些简单设置步骤(设置中文菜单、输出中文、字体大小、背景颜色主题)

这篇文章主要介绍了Clion、IEDA、pycharm的一些简单设置步骤(设置中文菜单、输出中文、字体大小、背景颜色主题),本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多