2017-06-01 90 views
0

我正在測試使用npm腳本來最終消除我對Gulp的依賴。我開始使用一個名爲watch的主要自定義腳本。該腳本最終將運行以watch名稱開頭的所有腳本;例如watch:styles。我的watch:styles腳本將使用node-sass將我的sass文件編譯成CSS。這工作。但是,我的下一步是創建一個postwatch:styles腳本,該腳本通過PostCSS和Autoprefixer運行新創建的.css文件。NPM腳本Post Hook不會觸發

問題,雖然,是我的postwatch:styles掛鉤永遠不會觸發運行。

的package.json

{ 
    "name": "npm-scripts-test", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "watch": "npm-run-all --parallel watch:*", 
    "watch:styles": "node-sass -w ./src/styles/main.scss ./dist/assets/styles/app.css", 
    "postwatch:styles": "postcss -u autoprefixer --no-map ./dist/assets/styles/app.css -o ./dist/assets/styles/app.css" 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": {}, 
    "dependencies": { 
    "autoprefixer": "^7.1.1", 
    "node-sass": "^4.5.3", 
    "postcss-cli": "^4.0.0", 
    "yarn-run-all": "^3.1.1" 
    }, 
    "browserslist": [ 
    "last 3 versions" 
    ] 
} 

任何意見或建議,爲什麼我的帖子鉤不點火?最初的watch:styles運行得很好。如果我手動運行yarn postwatch:styles,腳本將正確運行。我的watch:styles上是否有無聲錯誤,可以防止吊鉤發射?

任何意見將不勝感激。

回答

1

由於watch:styles在手錶模式下調用node-sass,該命令永不返回,但仍處於活動狀態,等待文件更改。

由於沒有正面回報,所以postwatch:styles將永遠不會被調用。

您應該嘗試另一種方法,可能是watching your files with watchnodemon

+0

這很有道理。謝謝! – Yuschick