2016-05-16 27 views
2

私はnpmのnewbeeです。純粋なnpm(grunt、gulpなどはありません)で非常に単純なビルドプロセスを実行しようとしています。すべての私のパッケージjsonスクリプトは、SCSSファイルを見たり、ファイル変更時にコンパイラを実行したりする責任があります。 「:CSSウォッチ」npmプラグイン "onchange"はscssファイルの変更を認識しません

{ 
     "name": "test-site.com", 
     "version": "1.0.0", 
     "description": "", 
     "main": "index.js", 
     "scripts": { 
     "scss": "node-sass --indent-type tab --indent-width 1 --output-style expanded -o dist/css src/scss", 
     "autoprefixer": "postcss -u autoprefixer -r dist/css/app.css", 
     "build:css": "npm run scss && npm run autoprefixer", 
     "serve": "browser-sync start --server --files 'dist/css/*.css, **/*.html, !node_modules/**/*.html'", 
     "reload": "browser-sync reload", 
     "watch:css": "onchange 'src/scss/*.scss' -- npm run build:scss", 
     "build:all": "npm run build:css", 
     "watch:all": "npm-run-all -p serve watch:css", 
     "postinstall": "npm run build:all && npm run watch:all" 
     }, 
     "author": "Homam", 
     "license": "ISC", 
     "devDependencies": { 
     "autoprefixer": "latest", 
     "browser-sync": "latest", 
     "node-sass": "latest", 
     "npm-run-all": "latest", 
     "onchange": "latest", 
     "postcss-cli": "latest" 
     } 
    } 

問題のスクリプトは次のとおりです。
は、ここで自己説明する必要があります私のPackage.jsonファイルです。
"index.html"を変更すると、それに応じてWebページが変更されますが、SCSSファイルを変更しても変更の効果はありません。 SCSS定義されていません。

"watch:css": "onchange 'src/scss/*.scss' -- npm run build:scss", 

はビルドを参照しているので、

答えて

3

は次のようになりますか?あなたは "scss"と "build:css"を定義しました。お試しください:

"watch:css": "onchange 'src/scss/*.scss' -- npm run build:css", 
6

Windowsをお使いですか? その場合は、onchange READMEのように、一重引用符をエスケープされた二重引用符で置き換えてください。

"watch:css": "onchange \"src/scss/*.scss\" -- npm run build:scss", 
+0

ありがとう男...

+0

これは私のウォッチャーは、Windows、おかげで「ハング」だった理由を説明する助け! –

関連する問題