【发布时间】:2022-08-17 08:10:16
【问题描述】:
我正在尝试在我的 package.json 文件中创建一个脚本,该脚本将启动我的 nodemon 应用程序,然后触发一个 gulp sass 手表
目前,我可以通过运行一个启动 nodemon 的npm launch 来做到这一点,然后在一个单独的终端窗口中我可以运行gulp watch 从我的 gulp 文件中触发 sass 监视。
我想在 package.json 中创建一个脚本命令来完成这两项工作——这可能吗?
包.json
\"scripts\": {
\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\",
\"start\": \"nodemon app.js\",
\"launch\": \"nodemon app.js && gulp watch\"
},
gulpfile.js
const { src, dest, watch } = require(\"gulp\");
const sass = require(\'gulp-sass\')(require(\'node-sass\'));
function generateCSS(cb) {
src(\'./sass/**/*.scss\')
.pipe(sass().on(\'error\', sass.logError))
.pipe(dest(\'public/css\'));
cb();
}
function watchFiles(cb) {
watch(\'sass/**/**.scss\', generateCSS);
}
exports.css = generateCSS;
exports.watch = watchFiles;
编辑:受@cmgchess 的回答启发,请在下面查看对我有用的答案
-
没有快照,这有效!根据该 SO post \'&&\' 顺序执行命令,而 \'&\' 并行执行命令。所以也许是因为 nodemon 启动但没有结束,所以在使用
&&时它永远不会执行gulp watch。 @cmgchess 如果您想将此作为答案提交,我很乐意确认并投票 -
我认为既然您已经在链接中找到了答案,那么如果我不重新发布会更好。无论如何,您可以用对您有用的方法来回答您自己的问题
标签: javascript node.js sass gulp