npm 插件 "onchange" 无法识别 scss 文件更改
npm plugin "onchange" does not recognize scss files changes
我是 npm newbee,正在尝试使用纯 npm(没有 g运行t、gulp 等)进行非常简单的构建过程。我所有的包 json 脚本都运行良好,除了负责监视 SCSS 文件的脚本和 运行 文件更改时的编译器。
这是我的 Package.json 文件,应该是自我解释的:
{
"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"
}
}
有问题的脚本是 "watch:css"。
当我更改 "index.html" 时,它会相应地更改网页,但是当我更改任何 SCSS 文件时都没有更改效果。
可能是因为
"watch:css": "onchange 'src/scss/*.scss' -- npm run build:scss",
是否引用了未定义的build:scss?您已经定义了 "scss" 和 "build:css"。尝试:
"watch:css": "onchange 'src/scss/*.scss' -- npm run build:css",
你在Windows吗?
如果是这样,请尝试将单引号替换为转义双引号,如 onchange README 中所述。
"watch:css": "onchange \"src/scss/*.scss\" -- npm run build:scss",
我是 npm newbee,正在尝试使用纯 npm(没有 g运行t、gulp 等)进行非常简单的构建过程。我所有的包 json 脚本都运行良好,除了负责监视 SCSS 文件的脚本和 运行 文件更改时的编译器。
这是我的 Package.json 文件,应该是自我解释的:
{
"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"
}
}
有问题的脚本是 "watch:css"。
当我更改 "index.html" 时,它会相应地更改网页,但是当我更改任何 SCSS 文件时都没有更改效果。
可能是因为
"watch:css": "onchange 'src/scss/*.scss' -- npm run build:scss",
是否引用了未定义的build:scss?您已经定义了 "scss" 和 "build:css"。尝试:
"watch:css": "onchange 'src/scss/*.scss' -- npm run build:css",
你在Windows吗? 如果是这样,请尝试将单引号替换为转义双引号,如 onchange README 中所述。
"watch:css": "onchange \"src/scss/*.scss\" -- npm run build:scss",