ddev - 如何在 sidecar 容器中使用 node-sass scss 在 ddev 项目中自动构建 CSS?

标签 ddev

我有一个 Drupal 项目,我想使用 Node.js 构建脚本将 SCSS 编译成 CSS。

最佳答案

我使用了一个单独的 sidecar 容器,它不断监视我的 Drupal 主题中 SCSS 的变化并构建 CSS。
我有一个 .ddev/docker-compose.sass-watch.yaml包含以下内容的文件:

version: "3.6"

services:
  sass-watch:
    container_name: ddev-${DDEV_SITENAME}-sass-watch
    image: node:12
    user: $DDEV_UID:$DDEV_GID
    labels:
      com.ddev.site-name: ${DDEV_SITENAME}
      com.ddev.approot: $DDEV_APPROOT
    volumes:
      - type: bind
        source: ../drupal/web/themes/custom/MY_THEME
        target: /app
        consistency: cached
      - ".:/mnt/ddev_config:ro"
    working_dir: /app
    command: ["sh", "-c", "npm i && npm run watch"]
然后在我的主题目录中,我有一个 package.json如下:
{
  "name": "MY_THEME",
  "scripts": {
    "build": "node-sass scss -o css --output-style compressed",
    "watch": "node-sass scss -o css --output-style compressed --source-map true -w"
  },
  "dependencies": {
    "node-sass": "^4.14.1"
  }
}
watch当我的 ddev 项目运行时,命令在后台永久运行。
我也可以用 ddev logs -s sass-watch如果由于某种原因构建看起来不起作用,则从 watch 命令获取输出。

关于ddev - 如何在 sidecar 容器中使用 node-sass scss 在 ddev 项目中自动构建 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62701304/

相关文章:

ddev - ddev 如何自动创建额外的数据库?

ddev get drud/ddev-platformsh 配置 - 在 MacOS 上生成所需的环境变量时出错

ddev - 启动 ddev 时出现 `ngnix 403 Forbidden'

ddev - 当 ddev 配置为使用 apache 时,为什么我会看到 nginx header ?

php - 如何在 DDEV-Local 中安装 SQL Server PHP 驱动程序?

php - XSym 符号链接(symbolic link)不能在 Docker for Windows 上的 PHP 中使用

node.js - 如何使用 SSL 在本地端口 80 - 443 上公开带有 DDEV Web 容器的 Nodejs 应用程序

ssh - 当我尝试在 `ddev auth ssh` 之后在 DDEV web 容器中使用 ssh 时,ssh key 似乎不起作用, "too many authentication failures"

docker - ddev:从另一个容器调用Web容器的某个端口的端点

mysql - 如何使用外部数据库浏览器或类似工具访问 ddev 的数据库?