[英]Rails 7 sprockets-rails, not regenerating application.css
编辑: ./app/assets/builds/application.css
是纱线的产品吗? 因为如果是这样,那么我需要重新考虑这个问题。 我正在调查它。
从 Rails 6 升级到 7 并使用
gem "jsbundling-rails"
gem "sprockets-rails"
gem "turbo-rails"
我在使用 css 资产管道时遇到问题。 ./app/assets/builds/application.css
在我更改./app/assets/stylesheets/application.scss
时没有得到更新
我认为我在使用 Leafletjs 格式时遇到了问题,我正在尝试为 leaflet 整理 css。 问题可能出在引导程序上,但我不这么认为。
我试图切换不同的.scss 文件。
// app/assets/stylesheets/application.scss
@import 'leaflet'; // node_module
// files in app/assets/stylesheets/
@import 'custom';
@import 'static_pages';
@import 'streets';
@import 'leaflet.timeline';
@import 'leaflet.OpacityControls';
@import @import…
是多余的吗? 换句话说,它们是自动添加的。 我就是这么理解的。 如果它是自动的,那么我必须删除 .scss 文件才能切换?
package.json
:
{
"license": "ISC",
"main": "application.js",
"dependencies": {
"@babel/core": "^7.10.3",
"@fortawesome/fontawesome-free": "^5.13.1",
"@hotwired/stimulus": "^3.1.0",
"@hotwired/turbo-rails": "^7.1.3",
"@popperjs/core": "^2.11.6",
"@rails/activestorage": "^7.0.3.1",
"@rails/ujs": "^7.0.3.1",
"bootstrap": "^4.5.0",
"bootstrap-icons": "^1.9.1",
"browserify": "^17.0.0",
"core-js": "^3.6.5",
"esbuild": "^0.15.7",
"jquery": "^3.6.1",
"jquery-ui": "^1.13.2",
"leaflet": "^1.6.0",
"leaflet-bing-layer": "^3.3.1",
"leaflet-draw": "^1.0.4",
"leaflet.control.opacity": "^1.6.0",
"leaflet.timeline": "^1.4.3",
"popper.js": "^1.16.1",
"regenerator-runtime": "^0.13.5",
"sass-loader": "^10.1.1",
"turbolinks": "^5.2.0",
"turf": "^3.0.14",
"webpack": "^4.43.0"
},
"devDependencies": {
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"webpack-bundle-analyzer": "^3.8.0"
},
"scripts": {
"webpack:analyze": "yarn webpack:build_json && yarn webpack:analyze_json",
"webpack:build_json": "RAILS_ENV=${RAILS_ENV:-production} NODE_ENV=${NODE_ENV:-production} bin/webpack --profile --json > tmp/webpack-stats.json",
"webpack:analyze_json": "webpack-bundle-analyzer tmp/webpack-stats.json public/packs",
"build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets",
"build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules"
}
}
@import... 是多余的吗? 换句话说,它们是自动添加的吗? 不,您明确需要添加它们。
./app/assets/builds/application.css 是纱线的产物吗? 肯定是。
我用一个新的 Rails 7 应用程序解决了这个问题,它不会有任何来自以前版本的 Rails 的包袱。
所以现在我可以继续解决我的 leaflet css 问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.