下記のようなscriptsを書いています。
ざっくり説明すると、chokidarでソースファイルを監視し、変更があれば対応するビルドコマンドを実行するものです。build系とwatch系のコマンドはnpm-run-allでまとめています。
json
1"scripts": { 2 "build": "run-p build:*", 3 "build:scripts": "run-s build:scripts:js build:scripts:minify", 4 "build:scripts:js": "rollup src/scripts/script.js --file dist/assets/scripts/script.js --config", 5 "build:scripts:minify": "uglifyjs dist/assets/scripts/script.js -o dist/assets/scripts/script.js --comments --source-map", 6 "build:styles": "run-s build:styles:sass build:styles:postcss", 7 "build:styles:postcss": "postcss dist/assets/styles/style.css -o dist/assets/styles/style.css", 8 "build:styles:sass": "node-sass src/styles/style.scss --importer node_modules/node-sass-magic-importer/dist/cli.js -o dist/assets/styles --source-map dist/assets/styles", 9 "build:templates": "pug src/templates -basedir src/templates --out dist --pretty", 10 "watch": "run-p watch:*", 11 "watch:images": "chokidar \"src/images/**/*\" -c \"npm run imagemin\"", 12 "watch:scripts": "chokidar \"src/scripts/**/*\" -c \"npm run build:scripts:js\"", 13 "watch:styles": "chokidar \"src/styles/**/*\" -c \"npm run build:styles\"", 14 "watch:templates": "chokidar \"src/templates/**/*\" -c \"npm run build:templates\"" 15 }
ここでyarn run watch
を実行すると、watch:〜
系のコマンド自体は発火しているようなのですが、下記の通り実際に実行される監視処理は4つのうち1つ〜4つとまちまちです。
bash
1$ run-p watch:* 2$ chokidar "src/images/**/*" -c "npm run imagemin" 3$ chokidar "src/scripts/**/*" -c "npm run build:scripts:js" 4$ chokidar "src/styles/**/*" -c "npm run build:styles" 5$ chokidar "src/templates/**/*" -c "npm run build:templates" 6Watching "src/scripts/**/*" .. 7Watching "src/styles/**/*" .. 8Watching "src/templates/**/*" ..
4つすべてを確実に実行するにはどうしたら良いでしょうか。
最初はwatchを使っていましたが、新規ファイルが監視対象にならないためchokidarに変更しました。
watchではすべてのコマンドが実行されるので、chokidar側の問題かと思いいろいろと調べてみましたが手がかりがつかめず弱っています。
お力を貸していただけると助かります。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。