代码之家  ›  专栏  ›  技术社区  ›  JP Silvashy Gautam Rege

Rails,build:css脚本中的多个css输出阻止--watch工作

  •  0
  • JP Silvashy Gautam Rege  · 技术社区  · 4 年前

    使用Rails 7,如果我的 build:css 中的脚本 package.json ,--watch`不再工作,当文件发生更改时,我如何输出多个文件并仍然使脚本能够重建css?

    例如,这样做 工作:

    "build:css": "sass ./app/assets/stylesheets/application.sass.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules && sass ./app/assets/stylesheets/active_admin.sass.scss ./app/assets/builds/active_admin.css --no-source-map --load-path=node_modules"
    

    而如果我删除 && 接下来的一切都是这样的:

    "build:css": "sass ./app/assets/stylesheets/application.sass.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules"
    

    那个 工作,并且对文件进行了更改和重建,我做错了什么?

    0 回复  |  直到 4 年前
        1
  •  2
  •   Alex    4 年前

    因为 --watch 标志只是附加到 build:css 命令,并最终执行

    sass ... && sass ... --watch
    

    它编译 application.scss 然后看着 admin.scss

    这是正确的语法:

    https://sass-lang.com/documentation/cli/dart-sass#many-to-many-mode

    sass [<input.css>:<output.css>] [<input/>:<output/>]...
    
    "build:css": "sass ./app/assets/stylesheets/application.sass.scss:./app/assets/builds/application.css ./app/assets/stylesheets/active_admin.sass.scss:./app/assets/builds/active_admin.css --no-source-map --load-path=node_modules"