node.js - 在“$ npm run watch”运行时,如果目录中的文件被修改,则运行自定义脚本
问题描述
我有以下虚拟Laravel 5.5 + React
项目:
$ git clone https://github.com/tlg-265/laravel-5.5-react.com
$ cd laravel-5.5-react.com
$ npm i
$ npm run watch
我的目标是:当:$ npm run watch
正在运行时,只要某些文件:/template/template-XX.json
被修改,脚本/template/listener.js
就会被执行。
发生这种情况时,变量: template
(inside: listener.js
) 应该获取修改后文件的名称(JSON
上面的文件),例如:template-02.json
.
这是文件的内容/template/listener.js
:
var template = '###TBD###';
console.log(`The template: ${template} was modified.`);
可能实现这一目标的一种方法是配置文件:package.json
相应地。这是文件的内容package.json
::
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.17",
"babel-preset-react": "^6.23.0",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^1.0",
"less": "^3.11.1",
"less-loader": "^5.0.0",
"lodash": "^4.17.4",
"react": "^15.4.2",
"react-dom": "^15.4.2"
}
}
以防万一,这是文件结构的预览:
关于如何实现这一目标的任何想法?
谢谢!
解决方案
推荐阅读
- javascript - 如何在 React/Redux 中卸载之前以 100% 显示进度条组件?
- google-sheets - Google表格:尝试在一个单元格中获取价格,具体取决于您在不同单元格中选择的产品
- java - Xpath 复选框定位器
- erlang - Erlang中模式匹配到单数下划线符号'_'的含义
- python - 当 numpy dtype 是自定义转换器中的“对象”时,将 nan 转换为零
- android - 在Android中显示4层列表
- dpdk - dpdk testpmd 使用 fm10420 NIC (fm10k) 转发大量丢包
- python - Python selenium如何仅循环包含特定类名的行
- flutter - com.google.android.gms.providerinstaller 是什么意思?
- javascript - 如何按类定位列表元素内的项目?