0

我正在使用 npm 脚本进行测试,以最终消除对 Gulp 的依赖。我只是从一个名为watch. 该脚本最终将运行所有以该watch名称开头的脚本;例如watch:styles。我的watch:styles脚本将使用 node-sass 将我的 sass 文件编译成 CSS。这行得通。但是,我的下一步是创建一个postwatch:styles脚本,.css通过 PostCSS 和 Autoprefixer 运行新创建的文件。

但是,问题是我的postwatch:styles钩子永远不会被触发运行。

包.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阻止钩子触发?

任何建议将不胜感激。

4

1 回答 1

2

由于在监视模式下watch:styles调用node-sass,该命令永远不会返回,而是保持在活动状态,等待您的文件更改。

而且既然没有正回报,postwatch:styles就永远不会被调用。

您应该尝试另一种方法,可能使用或观看您的文件watchnodemon

于 2017-06-05T11:36:18.827 回答