npm - 输出 css 文件只有在它首先为空时才会编译。必须删除css内容,保存css,然后在scss上触发watch
问题描述
我有以下 package.json 但是在我的环境(windows 10/vs code/vagrant homestead php)编译:开发仅在我先清空输出的 build.css,然后点击保存并触发手表时才有效。否则css文件永远不会改变。这显然适用于其他机器(可能是红鲱鱼;不相信任何人)。
"scripts": {
"autoprefixer": "postcss -u autoprefixer --no-map -r assets/css/*.css",
"compile:production": "node-sass --omitSourceMapUrl true --output-style compressed -o assets/css assets/scss",
"compile:development": "node-sass --omitSourceMapUrl true --output-style expanded -o assets/css assets/scss",
"watch:css": "onchange \"assets/scss\" -- run-s development:css",
"watch:js": "run-s development:js",
"development:css": "run-p compile:development autoprefixer",
"development:js": "rollup -c -w",
"production:css": "run-p compile:production autoprefixer",
"production:js": "rollup -c --compact",
"build": "run-p production:*",
"serve": "run-p watch:*"
},
"devDependencies": {
"@babel/cli": "^7.12.8",
"@babel/core": "^7.12.9",
"@babel/preset-env": "^7.12.7",
"@rollup/plugin-babel": "^5.2.2",
"@rollup/plugin-commonjs": "^17.0.0",
"@rollup/plugin-node-resolve": "^11.0.0",
"autoprefixer": "^6.3.6",
"core-js": "^3.8.0",
"fs": "0.0.1-security",
"node-sass": "^4.11.0",
"npm-run-all": "^2.1.1",
"onchange": "^5.2.0",
"postcss-cli": "^6.1.3",
"regenerator-runtime": "^0.13.7",
"rollup": "^2.34.1",
"rollup-plugin-gzip": "^2.5.0",
"rollup-plugin-multi-input": "^1.1.1",
"rollup-plugin-node-polyfills": "^0.2.1",
"rollup-plugin-uglify": "^6.0.4",
"uikit": "^3.6.16"
},
解决方案
重写编译脚本如下使其工作
"compile:production": "node-sass --omitSourceMapUrl true --output-style compressed assets/scss -o assets/css",
"compile:development": "node-sass -w assets/scss -o assets/css",
推荐阅读
- c - 不同操作系统中可能的换行符是什么
- python - 如何在odoo加载方法中将数据库ID作为many2one字段
- php - 如何使用linkedin v2 api获取电子邮件地址?
- php - 在 PHPUnit 中找不到类但被 Visual Studio Code 识别
- php - 在 WordPress 中导入 CSS 文件
- sql-server - 如何将两列相乘并将其输出分配给另一个表的列?
- jhipster - jhipster microservices one andpoint 适用于所有微服务
- vba - VBA 使用字符串作为范围
- ios - 在swift 4中从字节转换文件
- c# - CMake CSharp 参考 nuget 包