У меня есть следующий фиктивный 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
(внутри: 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"
}
}
На всякий случай, это предварительный просмотр структуры файла:
Есть идеи, как этого добиться?
Спасибо!