文件监听的作用是为了实现自动化,释放双手和精力,提高效率,让开发者更加关注于开发。npm script 文件监听和 grunt、gulp 功能类似。
自动刷新,意思就是改动文件保存后,页面自动刷新,减少日常开发的操作。
代码检查的监听和自动化
代码检查工具 stylelint、eslint、jsonlint 这些对 watch 支持很弱,所以就需要引入工具包 onchange
安装命令依赖包
1
2
3
|
npm i onchange -D
// 或
yarn add onchange -D
|
编写命令
1
2
3
4
5
6
7
|
"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 在启动时就运行一次 -- 之后的命令;
执行命令
1
|
npm run watch
|
实现自动刷新
本章主要说的是livereload。
安装命令依赖包
1
2
3
|
npm i livereload -D
// 或
yarn add livereload -D
|
编写命令
1
2
3
4
5
6
|
"scripts" : {
"//livereload" : "# 自动刷新" ,
"client" : "npm-run-all --parallel client:*" ,
"client:reload-server" : "livereload src/" ,
"client:static-server" : "http-server src/"
}
|
页面添加连接 js 脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
// 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 的文件监听和自动刷新的命令详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:https://juejin.im/post/5cfb289be51d45777a12615e