我创建了一个新的rails应用程序,之后我用cssbundling-rails安装了引导程序,
我现在得到一个错误The asset "application.css" is not present in the asset pipeline.,为了运行应用程序,我需要运行下面的脚本"scripts": { "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules" },,然后在资产/构建路径上创建一个应用程序文件。但是,我不想每次更新css文件时都运行这个命令,我希望服务器在不运行纱线脚本的情况下选择这些更新。我怎样才能做到这一点?
发布于 2022-01-21 03:04:10
我最近遇到了一个类似的问题,问题的根源其实是npm和纱线。
使用cssbundling-rails正确配置的应用程序不需要运行命令
"scripts": { "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules" },
以获得生成build/application.css的应用程序
npm已知问题
检查您的npm版本,有问题,如果您没有使用npm 7.1+,基本上阻止纱线设置正确的事情。
运行npm -v,如有必要,使用npm install -g npm@latest升级npm
如果您必须升级npm,那么您将需要关闭您的终端并启动一个新的终端,确认npm版本大于7.1。
升级后,重新运行rails css:install:bootstrap
一切都应该正确配置。
捆绑看守人
在cssbundling文档.rails中,您可以使用这种方法进行开发,方法是在带有yarn build:css --watch的终端中以监视模式运行绑定程序(如果不使用普马德夫,则在另一个终端中运行Rails服务器)。您还可以使用./bin/dev,它将同时启动Rails服务器和CSS构建监视程序(如果您也使用jsbundling-rails,则与JS构建监视程序一起运行)。
因此,您可以在rails应用程序中的单独终端上运行yarn build:css --watch,也可以只使用./bin/dev,但这两种方法都可以解决您所经历的问题。
https://stackoverflow.com/questions/70745797
复制相似问题